David Pedersen
6a16cd40ca
Add error handling and dependency injection example ( #23 )
2021-06-19 12:34:42 +02:00
David Pedersen
8a82fd00aa
Add bb8 connection pool example ( #19 )
...
I figure this will be quite common.
2021-06-15 22:25:41 +02:00
David Pedersen
2f6699aeae
Add HTML template example ( #17 )
2021-06-13 13:58:12 +02:00
David Pedersen
460828a3cb
Add versioning extractor example ( #16 )
2021-06-13 13:50:56 +02:00
David Pedersen
1002685a20
Rename to awebframework
( #13 )
2021-06-13 11:22:02 +02:00
David Pedersen
27ebb3db7a
Add Form
extractor ( #12 )
...
Fixes https://github.com/davidpdrsn/tower-web/issues/2
2021-06-13 11:01:40 +02:00
David Pedersen
7a051eb2d0
Fix static file serving in examples ( #10 )
2021-06-13 00:17:17 +02:00
David Pedersen
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 Pedersen
b3bc4e024c
Add RoutingDsl::{serve, into_make_service}
( #8 )
2021-06-12 21:44:40 +02:00
David Pedersen
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 Result
s
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