Skip to content

Add C ABI wrapper and reusable Rust TLS client - #1237

Closed
pomm10 wants to merge 2 commits into
0x676e67:mainfrom
pomm10:pomm10-c-abi-wrapper
Closed

Add C ABI wrapper and reusable Rust TLS client#1237
pomm10 wants to merge 2 commits into
0x676e67:mainfrom
pomm10:pomm10-c-abi-wrapper

Conversation

@pomm10

@pomm10 pomm10 commented Aug 12, 2026

Copy link
Copy Markdown

Why

Expose wreq to C# and provide a reusable Rust TLS client facade modeled after the existing Go TlsClient implementation.

What changed

  • Add a production-oriented C ABI with compatible Request/Response layouts, exported request execution and response/error ownership APIs, and a C header.
  • Add C# P/Invoke declarations and a minimal native usage example.
  • Add TlsClient, TlsClientPool, header/header-order parsing, ID-based client reuse, proxy and timeout configuration, redirects, complete response collection, and explicit handling for unsupported named TLS profiles.
  • Document the Rust TLS client behavior and current profile limitations.

Validation

  • cargo fmt --all -- --check
  • cargo metadata --no-deps
  • git diff --check
  • Focused cargo tests were attempted but could not complete because the environment lacks libclang.dll required by btls-sys.

pomm10 and others added 2 commits August 12, 2026 21:39
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@pomm10 pomm10 closed this by deleting the head repository Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant