Back to browse
Reixo – HTTP client with no-throw Result<T,E> and zero-dep OTel

Reixo – HTTP client with no-throw Result<T,E> and zero-dep OTel

by webcoderspeed·Mar 13, 2026·2 points·0 comments

AI Analysis

MidSolve My Problem

Yet another HTTP client competing with axios, ky, and got in a saturated market.

Strengths
  • Result<T,E> pattern eliminates try/catch at call sites like Go's error handling.
  • Zero @opentelemetry dependencies while injecting W3C traceparent headers.
  • Built-in circuit breaker, retries, and request deduplication without plugins.
Weaknesses
  • HTTP client space is extremely crowded with established players like axios and ky.
  • No clear differentiation beyond bundling features that exist as separate packages.
Target Audience

TypeScript developers building backend services

Similar To

axios · ky · got

Post Description

I kept copy-pasting the same boilerplate across every TypeScript project — retry logic, circuit breakers, auth token refresh, timeout handling. So I built reixo to handle all of it once.

Two things I haven't seen in other HTTP clients:

1. tryGet/tryPost/tryPut etc. return Result<T,E> instead of throwing — no try/catch needed at the call site. Works like Rust's Result or Go's (value, err) pattern.

2. Full W3C traceparent/tracestate/baggage injection with zero @opentelemetry/* dependencies. One builder method: .withOpenTelemetry({ serviceName: 'my-service' })

Also ships with: in-flight request deduplication (thundering herd fix), runtime detection across Node/Bun/Deno/CF Workers/Vercel Edge, transient network error classification (ETIMEDOUT vs DNS vs connection reset), circuit breaker, offline queue, GraphQL client, WebSocket, SSE, and a MockAdapter for tests.

Would love feedback on the Result API design — specifically whether Ok/Err should carry more metadata or stay minimal.

npm: https://www.npmjs.com/package/reixo

Similar Projects

Developer Tools●●Solid

NBA-API-ts – Zero-dep TypeScript client for 138 NBA stats endpoints

Zero-dep + full TypeScript typings across 138 stats endpoints is a sharp, practical win for anyone scraping NBA.com. The built-in retry/rate-limit and pluggable fetch for TLS impersonation is a genuinely clever engineering move — just be realistic: the repo itself admits stats endpoints still require residential IPs or TLS impersonation to avoid Akamai, so it's powerful but not magically turnkey.

WizardryNiche Gem
gek0z
213mo ago