Skip to content

washanhanzi/connectrpc-axum

Repository files navigation

ConnectRPC Axum

connectrpc-axum connectrpc-axum-build connectrpc-axum-client connectrpc-axum-core Documentation License

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.

Features

Protocol Support
Connect (JSON/Proto) Native (server + client)
gRPC Via Tonic integration
gRPC-Web Via tonic-web layer

Server

  • 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

Client

  • 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

Development

Claude Code Skills

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

Architecture

See architecture.md for detailed documentation on the project structure, core modules, and design decisions.

Examples

See connectrpc-axum-examples for complete working examples.

Acknowledgments

This project started as a fork of AThilenius/axum-connect.

Learn More

License

MIT License - see LICENSE for details.

About

One Axum handler serves them ALL. Connect, gRPC, gRPC-Web, and HTTP.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors