yandex-cloud-functions-router
Version:
Node router for Yandex Cloud Functions
27 lines (26 loc) • 1.15 kB
TypeScript
import { CloudFunctionContext } from '../cloudFunctionContext';
import { CloudFunctionHttpEvent } from '../events/httpEvent';
import { CloudFunctionResult } from '../cloudFunctionResult';
import { HttpMethod } from '../../models/httpMethod';
declare type HttpRoute = {
httpMethod?: HttpMethod[];
path?: string[];
params?: HttpRouteParamValidate;
body?: HttpRouteBodyPatternValidate;
validators?: CustomHttpValidator[];
decodeBase64Body?: boolean;
handler: (event: CloudFunctionHttpEvent, context: CloudFunctionContext) => CloudFunctionResult | Promise<CloudFunctionResult>;
};
declare type HttpRouteParamValidateType = 'exact' | 'substring' | 'regexp';
declare type HttpRouteParamValidate = {
[name: string]: {
type: HttpRouteParamValidateType;
value?: string;
pattern?: RegExp;
};
};
declare type HttpRouteBodyPatternValidate = {
json?: object;
};
declare type CustomHttpValidator = (event: CloudFunctionHttpEvent, context: CloudFunctionContext) => boolean;
export { HttpRoute, HttpRouteParamValidateType, HttpRouteParamValidate, HttpRouteBodyPatternValidate, CustomHttpValidator };