@intuitionrobotics/thunderstorm
Version:
34 lines • 1.29 kB
TypeScript
import { Module, type ObjectTS } from "@intuitionrobotics/ts-common";
import { type ServerApi_Middleware } from "../server/HttpServer.js";
import { type HttpRequestData } from "../server/server-api.js";
import { type ExpressRequest, type QueryRequestInfo } from "../../utils/types.js";
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 {};
//# sourceMappingURL=RemoteProxy.d.ts.map