@trpc/server
Version:
68 lines (64 loc) • 2.21 kB
JavaScript
require('../../unstable-core-do-not-import/rpc/codes.js');
var resolveResponse = require('../../unstable-core-do-not-import/http/resolveResponse.js');
require('../../unstable-core-do-not-import/rootConfig.js');
require('../../vendor/unpromise/unpromise.js');
require('../../unstable-core-do-not-import/stream/utils/disposable.js');
var getPlanner = require('./getPlanner.js');
function awsLambdaRequestHandler(opts) {
return async (event, context)=>{
const planner = getPlanner.getPlanner(event);
const createContext = async (innerOpts)=>{
return await opts.createContext?.({
event,
context,
...innerOpts
});
};
const response = await resolveResponse.resolveResponse({
...opts,
createContext,
req: planner.request,
path: planner.path,
error: null,
onError (o) {
opts?.onError?.({
...o,
req: event
});
}
});
return await planner.toResult(response);
};
}
function awsLambdaStreamingRequestHandler(opts) {
return async (event, responseStream, context)=>{
const planner = getPlanner.getPlanner(event);
if (!planner.toStream) {
throw new Error('Streaming is not supported for this event version');
}
const createContext = async (innerOpts)=>{
return await opts.createContext?.({
event,
context,
...innerOpts
});
};
const response = await resolveResponse.resolveResponse({
...opts,
createContext,
req: planner.request,
path: planner.path,
error: null,
onError (o) {
opts?.onError?.({
...o,
req: event
});
}
});
await planner.toStream(response, responseStream);
};
}
exports.awsLambdaRequestHandler = awsLambdaRequestHandler;
exports.awsLambdaStreamingRequestHandler = awsLambdaStreamingRequestHandler;
;