UNPKG

@trpc/server

Version:

The tRPC server library

68 lines (64 loc) 2.21 kB
'use strict'; 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;