MCPcopy Create free account
hub / github.com/loopbackio/loopback-next / routeHandler

Function routeHandler

examples/rpc-server/src/rpc.router.ts:17–42  ·  view source on GitHub ↗
(
  server: RPCServer,
  request: express.Request,
  response: express.Response,
)

Source from the content-addressed store, hash-verified

15}
16
17export async function routeHandler(
18 server: RPCServer,
19 request: express.Request,
20 response: express.Response,
21) {
22 const ctrl = request.body.controller;
23 const method = request.body.method;
24 const input = request.body.input;
25 let controller: Controller;
26 try {
27 controller = await server.get<Controller>(`controllers.${ctrl}`);
28 if (!controller[method]) {
29 throw new Error(
30 `No method was found on controller "${ctrl}" with name "${method}".`,
31 );
32 }
33 } catch (err) {
34 sendErrResponse(response, err, 400);
35 return;
36 }
37 try {
38 response.send(await controller[method](input));
39 } catch (err) {
40 sendErrResponse(response, err, 500);
41 }
42}
43
44export type Controller = {
45 [method: string]: Function;

Callers 2

rpc.router.unit.tsFile · 0.90
rpcRouterFunction · 0.85

Calls 1

sendErrResponseFunction · 0.85

Tested by

no test coverage detected