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 TLS -
rejectUnauthorized?: boolean
Rejects unauthorized TLS connections -
negotiateHttpVersion?: NegotiateHttpVersion
Configure HTTP version negotiation (default:HTTP2_FOR_HTTPS
) -
lookup?: DnsLookup
Override default DNS resolution (default:dns.lookup
) - TLS options:
-
ca?: string | Buffer | Array<string | Buffer>
Set TLS CA -
cert?: string | Buffer
Set TLS certificate -
key?: string | Buffer
Set TLS key -
secureContext?: SecureContext
Set TLS secure context -
secureProtocol?: string
Set TLS secure protocol -
secureOptions?: 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