Commit Graph
30 Commits
Author SHA1 Message Date
David PedersenandGitHub 8a82fd00aa Add bb8 connection pool example (#19)
I figure this will be quite common.
2021-06-15 22:25:41 +02:00
David PedersenandGitHub 2f6699aeae Add HTML template example (#17) 2021-06-13 13:58:12 +02:00
David PedersenandGitHub 460828a3cb Add versioning extractor example (#16) 2021-06-13 13:50:56 +02:00
David PedersenandGitHub 1002685a20 Rename to awebframework (#13) 2021-06-13 11:22:02 +02:00
David PedersenandGitHub 27ebb3db7a Add Form extractor (#12)
Fixes https://github.com/davidpdrsn/tower-web/issues/2
2021-06-13 11:01:40 +02:00
David PedersenandGitHub 7a051eb2d0 Fix static file serving in examples (#10) 2021-06-13 00:17:17 +02:00
David PedersenandGitHub 04d62798b6 Reduce body boxing (#9)
Previously, when routing between one or two requests the two body types
would be merged by boxing them. This isn't ideal since it introduces a
layer indirection for each route.

We can't require the services to be routed between as not all services
use the same body type.

This changes that so it instead uses an `Either` enum that implements
`http_body::Body` if each variant does. Will reduce the overall
allocations and hopefully the compiler can optimize things if both
variants are the same.
2021-06-12 23:59:18 +02:00
David PedersenandGitHub b3bc4e024c Add RoutingDsl::{serve, into_make_service} (#8) 2021-06-12 21:44:40 +02:00
David PedersenandGitHub c9c507aece Add support for websockets (#3)
Basically a copy/paste of whats in warp.

Example usage:

```rust
use tower_web::{prelude::*, ws::{ws, WebSocket}};

let app = route("/ws", ws(handle_socket));

async fn handle_socket(mut socket: WebSocket) {
    while let Some(msg) = socket.recv().await {
        let msg = msg.unwrap();
        socket.send(msg).await.unwrap();
    }
}
```
2021-06-12 20:50:30 +02:00
David Pedersen c91dc7ce29 Make Request<Body> an extractor 2021-06-09 09:42:06 +02:00
David Pedersen 90c3e5ba74 Parameterize ContentLengthLimit 2021-06-09 08:14:20 +02:00
David Pedersen 1f8b39f05d More docs and expand key_value_store example 2021-06-08 12:43:16 +02:00
David Pedersen d8b0153939 Write some more docs 2021-06-07 15:45:19 +02:00
David Pedersen 21c96e0aa1 Write a few docs 2021-06-06 23:58:44 +02:00
David Pedersen 58c18c2563 Static file serving 2021-06-06 21:53:22 +02:00
David Pedersen 470d6ceabd Add prelude 2021-06-06 11:42:44 +02:00
David Pedersen 46398afc72 Move things around a bit 2021-06-06 11:37:08 +02:00
David Pedersen c3977d0b71 Change routing DSL 2021-06-04 01:00:48 +02:00
David Pedersen 08c10fe58d Tuple structs are cool 2021-06-01 15:07:16 +02:00
David Pedersen ea582ab8d9 Quality of life improvements 2021-06-01 14:52:18 +02:00
David Pedersen f690e74275 Support nesting services with error handling 2021-06-01 11:23:56 +02:00
David Pedersen 0e38037c74 More error handling 2021-06-01 00:37:07 +02:00
David Pedersen 18f613ff98 This changes everything 2021-05-31 22:54:21 +02:00
David Pedersen d33be9683c Don't force handlers to return Results 2021-05-31 20:42:57 +02:00
David Pedersen f6b1a6f435 More work 2021-05-31 16:28:26 +02:00
David Pedersen 6822766165 Add Html response type 2021-05-31 10:20:07 +02:00
David Pedersen 0b2f791bf4 Typed url param extractor 2021-05-30 16:53:39 +02:00
David Pedersen 03fb15e7a7 Changes to UrlParamsMap 2021-05-30 16:37:27 +02:00
David Pedersen 763d4e8d21 Routing with dynamic parts! 2021-05-30 15:44:26 +02:00
David Pedersen 7328127a3d Add example 2021-05-30 14:33:36 +02:00