A Rust library that brings ConnectRPC protocol support to the Axum web framework, with optional Tonic integration for serving gRPC or gRPC-Web on the same port.
Status: Under active development. Not recommended for production use yet.
📝 The Origin of connectrpc-axum - Learn about the problems this library solves and the design decisions behind it.
| Protocol | Support |
|---|---|
| Connect (JSON/Proto) | Native (server + client) |
| gRPC | Via Tonic integration |
| gRPC-Web | Via tonic-web layer |
- Type-safe handlers generated from Protocol Buffers
- Full Axum ecosystem support (extractors, middleware, state)
- Automatic content negotiation (JSON/binary protobuf)
- All protocols served on the same port
- Type-safe RPC client generated from Protocol Buffers
- All RPC patterns: unary, server streaming, client streaming, bidirectional
- JSON and protobuf encoding support
- Request compression (gzip, brotli, zstd)
- Middleware support via interceptors
This project includes Claude Code skills to assist with development. See the skill files in .claude/skills/ for details.
| Skill | Description |
|---|---|
submit-issue |
Report bugs, request features, or ask questions |
resolve-issue |
Investigate and resolve GitHub issues |
test |
Run the full test suite |
See architecture.md for detailed documentation on the project structure, core modules, and design decisions.
See connectrpc-axum-examples for complete working examples.
This project started as a fork of AThilenius/axum-connect.
MIT License - see LICENSE for details.