Skip to content

Repository files navigation

CrossConnection

npm version npm downloads license

A security-first Axios alternative for TypeScript, Node.js, browsers, and edge runtimes.

CrossConnection gives you an Axios-like developer experience with production-focused protections such as SSRF mitigation, retry backoff, telemetry hooks, request cancellation, and safe logging.

Links

Why CrossConnection

  • Axios-like API with stronger secure defaults
  • Built-in retry policies with exponential backoff and jitter
  • SSRF controls for private IPs, localhost, and host allowlists
  • Interceptors, transforms, and telemetry hooks for observability
  • AbortSignal and CancelToken cancellation support
  • Header redaction helpers for safe logging

Installation

npm install cross-connection

Quick Start

import { createCrossConnection } from "cross-connection";

const client = createCrossConnection({
  baseURL: "https://api.example.com",
  timeout: 8000,
  retry: {
    retries: 2,
    baseDelayMs: 150,
    maxDelayMs: 2000,
  },
});

const response = await client.get<{ ok: boolean }>("/health");
console.log(response.data.ok);

Secure Client Example

import { CrossConnection } from "cross-connection";

const client = new CrossConnection({
  security: {
    blockPrivateIPs: true,
    blockPrivateIPv6: true,
    blockLocalhost: true,
    allowHosts: ["api.example.com", "*.trusted.internal"],
    redactHeaders: ["authorization", "cookie", "x-api-key"],
  },
  retry: {
    retries: 3,
    baseDelayMs: 120,
    maxDelayMs: 1200,
  },
});

Feature Highlights

  • HTTP methods: get, post, put, patch, delete, head, options, request
  • Interceptors: client.interceptors.request.use and client.interceptors.response.use
  • Data transforms: transformRequest and transformResponse
  • Security options: SSRF guards, DNS rebinding checks, host allowlists
  • Reliability controls: retry policies, timeout handling, telemetry callbacks
  • Crypto and transport hardening: AES-256-GCM request encryption and optional TLS fingerprint pinning in Node.js

Documentation

Development

npm install
npm run test
npm run build

License

MIT

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages