Popsicle Transport HTTP
Popsicle transport for sending requests over HTTP1 and HTTP2.
Installation
npm install popsicle-transport-http --save
Usage
import { transport } from "popsicle-transport-http";
const req = new Request("/");
const res = await transport()(req, done);
Transport Options
The transport
function sends the Servie Request
to a remote server.
keepAlive?: number
Duration to keep connection alive for re-use (default:5000
)servername?: string
Override remote server name for TLSrejectUnauthorized?: boolean
Rejects unauthorized TLS connectionsnegotiateHttpVersion?: NegotiateHttpVersion
Configure HTTP version negotiation (default:HTTP2_FOR_HTTPS
)lookup?: DnsLookup
Enable custom DNS resolution (default:cacheable-lookup
)- TLS options:
ca?: string | Buffer | Array<string | Buffer>
Set TLS CAcert?: string | Buffer
Set TLS certificatekey?: string | Buffer
Set TLS keysecureContext?: SecureContext
Set TLS secure contextsecureProtocol?: string
Set TLS secure protocolsecureOptions?: number
Set TLS secure options
- Custom connection managers (default:
Infinity
active sockets):tlsSockets?: ConnectionManager<TLSSocket>
netSockets?: ConnectionManager<Socket>
http2Sessions?: ConnectionManager<ClientHttp2Session>
- Custom create connections (all methods support async promises):
createHttp2Connection?: (authority, socket) => ClientHttp2Session
createNetConnection?: (options) => Socket
createTlsConnection?: (options) => TLSSocket
TypeScript
This project is written using TypeScript and publishes the definitions directly to NPM.
License
MIT