@temporalio/common
Version:
Common library for code that's used across the Client, Worker, and/or Workflow
44 lines (43 loc) • 1.54 kB
TypeScript
import { ProtoHostPort } from './parse-host-uri';
/**
* Configuration for HTTP CONNECT proxying.
*/
export interface HttpConnectProxyConfig {
type: 'http-connect';
/**
* Address of the HTTP CONNECT proxy server, in either `hostname:port` or `http://hostname:port` formats.
*
* Port is required, and only the `http` scheme is supported. Raw IPv6 addresses must be wrapped in square brackets
* (e.g. `[ipv6]:port`).
*/
targetHost: string;
/**
* Basic auth for the HTTP CONNECT proxy, if any.
*
* Neither username nor password may contain `:` or `@`.
*
* Note that these credentials will be exposed through environment variables, and will be exchanged in non-encrypted
* form ovrer the network. The connection to the proxy server is not encrypted.
*/
basicAuth?: {
username: string;
password: string;
};
}
export type ProxyConfig = HttpConnectProxyConfig;
/**
* Parse the address of a HTTP CONNECT proxy endpoint.
*
* - The URI may only contain a scheme, a hostname, and a port;
* - If specified, scheme must be 'http';
* - Port is required.
*
* Examples of valid URIs:
*
* ```
* 127.0.0.1:8080 => { scheme: 'http', host: '192.168.0.1', port: 8080 }
* my.temporal.service.com:8888 => { scheme: 'http', host: 'my.temporal.service.com', port: 8888 }
* [::ffff:192.0.2.128]:8080 => { scheme: 'http', host: '::ffff:192.0.2.128', port: 8080 }
* ```
*/
export declare function parseHttpConnectProxyAddress(target: string): ProtoHostPort;