🚧 Work In Progress 🚧
A blazing fast and easy to use tRPC-like server for Rust.
Website
Warning
This branch contains some major changes for the 0.3.0 release.
For 0.2.x checkout v0.x
For v1.0.0-rc.x (deprecated for now) checkout mainmain
You define a rspc
router and attach procedures to it like below. This will be very familiar if you have used tRPC or GraphQL before.
let router = <rspc::Router>::new()
.query("version", |t| {
t(|ctx, input: ()| "0.0.1")
})
.mutation("helloWorld", |t| {
t(|ctx, input: ()| async { "Hello World!" })
});
- Per Request Context - Great for database connection & authentication data
- Middleware - With support for context switching
- Merging routers - Great for separating code between files
This project is based off tRPC and was inspired by the bridge system Jamie Pine designed for Spacedrive. A huge thanks to everyone who helped inspire this project!