@intuitionrobotics/thunderstorm
Version:
34 lines (33 loc) • 1.21 kB
TypeScript
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 {};