David Pedersen
044d35d193
Link to another benchmark
2021-12-29 23:03:01 +01:00
lz1998
15e03a4e6b
ecosystem: Add book management ( #675 )
2021-12-29 20:12:50 +01:00
Jonas Platte
616a43aaa3
Simplify graceful shutdown ( #673 )
2021-12-28 16:23:07 +01:00
David Pedersen
5698fb8be9
Add metrics example ( #671 )
2021-12-28 15:58:48 +01:00
Sabrina Jewson
031e0fd472
Store Bytes in ErasedJson ( #672 )
2021-12-28 10:41:21 +00:00
Guy Lapid
d602682821
Add support for returning pretty JSON response in axum_extra::response::ErasedJson
( #662 )
2021-12-28 09:19:24 +00:00
David Pedersen
4fd7e927ba
Document how to pass state to middleware::from_fn
( #669 )
2021-12-27 23:53:50 +01:00
David Pedersen
1020d0144b
Improve middleware examples using auth ( #668 )
...
* Make `middleware::from_fn` examples less secure
* Also improve `extractor_middleware` example
2021-12-27 23:34:37 +01:00
David Pedersen
9d62b5c060
Mention middleware::from_fn
in axum’s docs ( #670 )
...
Fixes https://github.com/tokio-rs/axum/issues/667
2021-12-27 23:30:08 +01:00
David Pedersen
de37a3e737
Tweak tower dependency in axum-extra ( #666 )
...
Fixes https://github.com/tokio-rs/axum/issues/659
2021-12-27 23:28:58 +01:00
Jonas Platte
a3e19465ac
Move header name validity checks to compile time ( #661 )
2021-12-27 18:25:47 +01:00
Sabrina Jewson
7df611319e
Fix axum-extra's optional feature documentation ( #663 )
2021-12-27 18:12:46 +01:00
David Pedersen
9f5f29dfba
axum-extra: Version 0.1.1 ( #658 )
...
- Add `middleware::from_fn` for creating middleware from async functions ([#656 ])
[#656 ]: https://github.com/tokio-rs/axum/pull/656
2021-12-27 15:23:02 +01:00
Jonas Platte
0a399ed0fa
A few small refactorings ( #655 )
...
* Simplify json content-type check
* Import HeaderMap from http instead of from headers
The headers crate is an optional dependency and its HeaderMap re-export
is `#[doc(hidden)]`.
* Use headers re-export in axum in examples
2021-12-27 14:02:38 +01:00
David Pedersen
f4716084a7
Add middleware::from_fn
for creating middleware from async fns ( #656 )
...
* Add `middleware::from_fn` for creating middleware from async fns
* More trait impls for `Next`
* Make `Next::run` consume `self`
* Use `.router_layer` in example, since middleware returns early
* Actually `Next` probably shouldn't impl `Clone` and `Service`
Has implications for backpressure and stuff
* Simplify `print-request-response` example
* Address review feedback
* add changelog link
2021-12-27 14:01:26 +01:00
ttys3
3841ef44d5
Fix session cookie example ( #638 )
...
* refactor: refine session cookie example
* refactor: refine session_cookie extraction
* refactor: avoid to_owned()
* chore: refine debug log
Co-authored-by: 荒野無燈 <ttys3.rust@gmail.com>
2021-12-22 15:27:13 +01:00
David Pedersen
4c48efc861
axum: Version 0.4.3 ( #650 )
2021-12-21 15:41:03 +01:00
Jonas Platte
ce6ad399ef
Fix a typo ( #635 )
2021-12-17 13:15:07 +01:00
Jonas Platte
f7049054bf
Re-export the headers crate when the headers feature is active ( #630 )
2021-12-15 15:14:03 +01:00
lz1998
dea36db400
Use HttpBody
type alias internally ( #624 )
...
* use 'crate::body::HttpBody' instead of 'http_body::Body'
* use 'crate::body::Bytes' instead of 'bytes::Bytes'
* rustfmt
* fix warning
* Update axum/src/routing/method_routing.rs
Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
* Update axum/src/routing/method_routing.rs
Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2021-12-14 12:58:45 +01:00
David Pedersen
4625e1953b
Allow duplicate itoa dependency ( #626 )
...
Once the community has updated to itoa 1.0 we can remove this.
2021-12-14 11:56:16 +01:00
David Pedersen
ba42783df2
Example for defining routes and handlers close together ( #621 )
2021-12-12 23:54:18 +01:00
David Pedersen
c50b55384c
Add ExtensionsAlreadyExtracted
to PathRejection
( #619 )
...
* Add `ExtensionsAlreadyExtracted` to `PathRejection`
* format imports
* changelog
2021-12-12 23:51:18 +01:00
David Pedersen
ecf3359980
Fix misc warnings from CI ( #620 )
2021-12-12 17:21:29 +01:00
Kai Jewson
d9bf100216
Don't drop leading spaces in SSE responses ( #600 )
...
* Don't drop leading spaces in SSE responses
* Mention leading space fix in changelog
Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2021-12-12 16:11:15 +00:00
Kai Jewson
980a0a466e
Simplify Websocket implementation ( #615 )
...
* Remove `WebSocketUpgradeResponse`
* Move protocol selection to `WebSocketUpgrade::protocols`
2021-12-12 17:05:28 +01:00
Kai Jewson
6feea82d61
Enforce stronger validation of SSE values ( #599 )
...
* Enforce stronger validation of SSE values
* Mention `sse::Event` strictness in changelog
Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2021-12-12 16:03:20 +00:00
Kai Jewson
9344d27cfa
Improve documentation of sse::Event
( #601 )
2021-12-12 16:56:07 +01:00
Kai Jewson
9ed18d92cf
Use AtomicU32
in RouteId
( #616 )
2021-12-12 14:19:30 +00:00
Kai Jewson
b7cc3d4645
Clarify that servers shouldn't implement Websocket ping/pong ( #617 )
2021-12-12 15:08:00 +01:00
Jonas Platte
b1623ce7f2
Add AddExtension::layer ( #607 )
2021-12-10 22:56:56 +01:00
Jonas Platte
c8c0bb2ce1
Fix a typo ( #605 )
2021-12-10 18:34:31 +01:00
David Pedersen
3a259dcec7
axum-debug: Version 0.3.2 ( #598 )
...
- Support checking `FromRequest` bounds for extractors whose request body is something else than
`axum::body::Body`. Use `#[debug_handler(body = YourBodyType)]` to use a different request body
type ([#595 ])
[#595 ]: https://github.com/tokio-rs/axum/pull/595
2021-12-09 10:52:31 +01:00
David Pedersen
8895926f73
Support customizing the request body type in #[debug_handler]
( #595 )
2021-12-08 19:37:18 +01:00
David Pedersen
4b85b227e1
Update changelog with v0.3.4
...
This was shipped from the `v0.3.x` branch so wasn't moved to `main`.
2021-12-08 18:38:14 +01:00
David Pedersen
8e439b17f3
Clean up deny.toml ( #597 )
2021-12-08 18:37:02 +01:00
David Pedersen
9f6be24ecd
axum: Version 0.4.2 ( #592 )
...
* axum: Version 0.4.2
This time depending on the correct version of axum-core.
* add missing changelog links
2021-12-06 12:03:13 +00:00
David Pedersen
8e1341d1f6
Release axum, axum-core, and axum-debug ( #591 )
2021-12-06 10:30:09 +01:00
Kai Jewson
dfb06e721c
Introduce Response
type alias as a shorthand for Response<BoxBody>
( #590 )
...
* Introduce `Response` type alias as a shorthand
* Don't re-export `Response` at the crate root
2021-12-05 19:16:46 +01:00
David Pedersen
cbb34869d8
Fix debug_handler
for Result<impl IntoResponse, Error>
and friends ( #588 )
...
Fixes #587
2021-12-04 18:24:58 +01:00
David Pedersen
628921bcad
axum-debug 0.3 ( #586 )
...
Forgot to ship this one so the latest version would generate wrong code.
2021-12-03 22:42:10 +01:00
David Pedersen
6dcb406ab8
Remove axum-handle-error-extract
from ECOSYSTEM.md
...
Its been integrated into axum 0.4.
2021-12-02 20:47:54 +01:00
David Pedersen
a63843d6c5
Release axum, axum-core, and axum-extra ( #582 )
2021-12-02 20:02:38 +01:00
David Pedersen
3ec680cce7
Provide more data in Path
deserialization error ( #574 )
...
* Provide more error in `Path` deserialization error
* Rename
* Add error kind for deserializing sequences
* Rename
* Fix wrong docs
* Rename `MissingRouteParams`
* Rename error to have more consistency
* Rename internal error
* Update changelog
* One last renaming, for now
* Add tests
* Tweak changelog a bit
2021-12-02 08:51:29 +01:00
David Pedersen
66c5142d0c
Update tower-http ( #581 )
...
Updates to 0.2 which was just published.
2021-12-01 20:14:25 +00:00
David Pedersen
254d8fde17
Move FromRequest
and IntoResponse
into new axum-core
crate ( #564 )
...
* Move `IntoResponse` to axum-core
* Move `FromRequest` to axum-core
* some clean up
* Remove hyper dependency from axum-core
* Fix docs reference
* Use default
* Update changelog
* Remove mention of default type
2021-11-30 13:46:13 +00:00
david-perez
f95c974406
Remove dependency on tower-http
's add-extension
feature ( #580 )
...
It is not currently being used, since `axum/src/add_extension.rs` "is
vendored from `tower-http` to reduce public dependencies".
2021-11-30 14:22:50 +01:00
david-perez
0c3e4a6f3d
Reduce NotFound
's visibility ( #579 )
...
It is only used in the crate's `routing` module.
2021-11-30 12:37:51 +00:00
david-perez
affab9b4ec
Use Self
in RouterFuture
's impl
block ( #578 )
...
For consistency with the other method and the rest of the codebase.
2021-11-30 12:37:05 +00:00
Kai Jewson
2b6dba49cb
Remove the associated Body
type on IntoResponse
( #571 )
2021-11-28 18:52:18 +01:00