@orpc/server
Version:
<div align="center"> <image align="center" src="https://orpc.unnoq.com/logo.webp" width=280 alt="oRPC logo" /> </div>
43 lines (39 loc) • 1.67 kB
JavaScript
import { resolveMaybeOptionalOptions } from '@orpc/shared';
import { toStandardLazyRequest, sendStandardResponse } from '@orpc/standard-server-aws-lambda';
import { r as resolveFriendlyStandardHandleOptions } from '../../shared/server.DZ5BIITo.mjs';
import '@orpc/standard-server';
import '@orpc/standard-server/batch';
import '@orpc/standard-server-fetch';
import '@orpc/client';
import { S as StrictGetMethodPlugin } from '../../shared/server.BW-nUGgA.mjs';
import '@orpc/contract';
import { b as StandardRPCHandler } from '../../shared/server.CYRYFTxo.mjs';
import '@orpc/client/standard';
import '../../shared/server.B_fj3X5m.mjs';
class AwsLambdaHandler {
constructor(standardHandler, options = {}) {
this.standardHandler = standardHandler;
this.sendStandardResponseOptions = options;
}
sendStandardResponseOptions;
async handle(event, responseStream, ...rest) {
const standardRequest = toStandardLazyRequest(event, responseStream);
const options = resolveFriendlyStandardHandleOptions(resolveMaybeOptionalOptions(rest));
const result = await this.standardHandler.handle(standardRequest, options);
if (!result.matched) {
return { matched: false };
}
await sendStandardResponse(responseStream, result.response, this.sendStandardResponseOptions);
return { matched: true };
}
}
class RPCHandler extends AwsLambdaHandler {
constructor(router, options = {}) {
if (options.strictGetMethodPluginEnabled ?? true) {
options.plugins ??= [];
options.plugins.push(new StrictGetMethodPlugin());
}
super(new StandardRPCHandler(router, options), options);
}
}
export { AwsLambdaHandler, RPCHandler };