UNPKG

@intuitionrobotics/thunderstorm

Version:
34 lines (33 loc) 1.21 kB
import { Module, ObjectTS } from "@intuitionrobotics/ts-common"; import { ServerApi_Middleware } from "../server/HttpServer"; import { HttpRequestData } from "../server/server-api"; import { ExpressRequest, QueryRequestInfo } from "../../utils/types"; type ProxyConfig = { extras?: ObjectTS; urls: string[]; secret: string; }; export type RemoteProxyConfig = { remotes: { [proxyId: string]: ProxyConfig; }; secretHeaderName?: string; proxyHeaderName?: string; }; export declare class RemoteProxy_Class<Config extends RemoteProxyConfig> extends Module<Config> implements QueryRequestInfo { constructor(); __queryRequestInfo(request: ExpressRequest): Promise<{ key: string; data: any; }>; getProxyHeader(request: ExpressRequest): string; private getSecretHeader; readonly Middleware: ServerApi_Middleware; private secretHeader; private proxyHeader; protected init(): void; assertSecret(request: ExpressRequest): ObjectTS | undefined; processApi(request: ExpressRequest, requestData: HttpRequestData): Promise<ObjectTS | undefined>; } export declare const RemoteProxy: RemoteProxy_Class<RemoteProxyConfig>; export {};