MCPcopy Create free account
hub / github.com/FlashpointProject/launcher / server_request

Function server_request

src/shared/socket/SocketServer.ts:68–101  ·  view source on GitHub ↗
(
  client: SocketServerClient<T, U, SOCKET>,
  type: TYPE,
  ...args: Parameters<SocketTemplate<T, U>[TYPE]>
)

Source from the content-addressed store, hash-verified

66}
67
68export function server_request<
69 T extends T_BASE,
70 U extends U_BASE<T>,
71 SOCKET extends BaseSocket,
72 TYPE extends keyof SocketTemplate<T, U>
73>(
74 client: SocketServerClient<T, U, SOCKET>,
75 type: TYPE,
76 ...args: Parameters<SocketTemplate<T, U>[TYPE]>
77): Promise<ReturnType<SocketTemplate<T, U>[TYPE]>> {
78 // @TODO Time-out the request if it is not responded to within some time frame
79 return new Promise((resolve, reject) => {
80 if (client.socket) {
81 const id = client.next_id;
82
83 client.next_id += 1;
84
85 client.sent.push({
86 id: id,
87 resolve: (sent) => {
88 if (isErrorResponse(sent)) {
89 reject(sent.error);
90 } else {
91 resolve(sent.result);
92 }
93 },
94 });
95
96 server_send_internal(client, id, type, ...args);
97 } else {
98 reject(new Error(`Failed to send message. Client does not have a socket (Client ID: ${client.id}).`));
99 }
100 });
101}
102
103export function server_send<
104 T extends T_BASE,

Callers 2

requestMethod · 0.90
requestMethod · 0.90

Calls 3

isErrorResponseFunction · 0.90
server_send_internalFunction · 0.85
pushMethod · 0.65

Tested by

no test coverage detected