@arcjet/transport
Version:
Transport mechanisms for the Arcjet protocol
21 lines (18 loc) • 789 B
JavaScript
import { Http2SessionManager, createConnectTransport } from '@connectrpc/connect-node';
function createTransport(baseUrl) {
// We create our own session manager so we can attempt to pre-connect
const sessionManager = new Http2SessionManager(baseUrl, {
// AWS Global Accelerator doesn't support PING so we use a very high idle
// timeout. Ref:
// https://docs.aws.amazon.com/global-accelerator/latest/dg/introduction-how-it-works.html#about-idle-timeout
idleConnectionTimeoutMs: 340 * 1000,
});
// We ignore the promise result because this is an optimistic pre-connect
sessionManager.connect();
return createConnectTransport({
baseUrl,
httpVersion: "2",
sessionManager,
});
}
export { createTransport };