3 releases (breaking)

Uses new Rust 2024

0.3.0 Jan 8, 2026
0.2.0 Dec 5, 2025
0.1.0 Nov 2, 2025

#12 in #http-transport


Used in 2 crates

MIT license

195KB
3.5K SLoC

Generic transport abstraction layer for TurboClaude

Provides a trait-based transport abstraction that enables both REST HTTP and CLI subprocess transports. This layer is used by both the REST client and Agent client to communicate with Claude.

Architecture

  • Transport trait: Generic interface for any transport implementation
  • HTTP transport: REST API client via reqwest
  • Subprocess transport: CLI-based communication via stdin/stdout
  • Error handling: Unified error types across transports

Usage

use turboclaude_transport::{Transport, http::HttpTransport};
use turboclaude_transport::traits::HttpRequest;

let transport = HttpTransport::new()?;
let request = HttpRequest::new("GET", "https://api.anthropic.com/v1/messages");
let response = transport.send_http(request).await?;

TurboClaude Transport

HTTP and subprocess transport layer for TurboClaude with retry, timeout, and rate-limiting support.

Features

  • HTTP and subprocess transports
  • Configurable retries with exponential backoff
  • Per-request timeouts
  • Rate limit handling
  • Connection pooling

Testing

cargo test

Documentation

cargo doc --open for full API documentation

Dependencies

~22–40MB
~483K SLoC