backtalk

An asynchronous, streaming web server for JSON APIs


Keywords
web, server, async, framework, api-server, http, json, realtime, rust
Licenses
MIT/Apache-2.0

Documentation

Backtalk: API Web Server
Build Status

Backtalk is a web framework for Rust. Much is subject to change and it's not ready for writing production sites, but the structure is there, and I'm glad to answer questions/help out if the documentation isn't enough.

  • Asynchronous – use Futures for everything, handle thousands of concurrent connections.
  • Realtime – expose a streaming API, and push live events to clients.
  • Simple – only a couple hundred lines of code.
  • Opinionated – exclusively for JSON-based RESTful APIs.
  • Magicless – no macros, no unsafe, runs on stable Rust.

A simple server example:

let mut server = Server::new();
let database = memory::MemoryAdapter::new();
server.resource("/cats", move |req: Request| {
  database.handle(req)
});
server.listen("127.0.0.1:3000");

You can look in the examples directory for more information, or the blog post walking through the examples. Things should be mostly documented as well — if you run cargo doc --open in the repository you can view it.

Inspiration

  • Feathers.js
  • Phoenix
  • Rocket.rs