Commit graph

394 commits

Author SHA1 Message Date
Luca Barbato
bdfa3887f1
Fix a typo (#1064) 2022-06-03 08:30:48 +02:00
David Pedersen
6c10f41d94
Support Path<Vec<(String, String)>> (#1059)
* Support `Path<Vec<(String, String)>>`

* changelog
2022-05-27 14:11:33 +02:00
David Pedersen
19fe93262f
Use impl IntoResponse less in docs (#1049) 2022-05-22 13:41:29 +02:00
Christofer Nolander
d7c4e2f807
Implement Default for Extension (#1043) 2022-05-18 15:44:08 +00:00
David Pedersen
316e20fbd9
axum: Version 0.5.6 (#1033) 2022-05-15 23:05:00 +02:00
David Pedersen
178e1801e9
Add axum_extra::extract::Form (#1031)
* Add `axum_extra::extra::Form`

* update tokio-util ban
2022-05-15 15:17:45 +00:00
Kosta
d37b93a3c4
Dont link to deprecated item with different name (#1028) 2022-05-12 12:06:13 +00:00
David Pedersen
0b856b938f
Document "debugging handler type errors" on Handler (#1024) 2022-05-11 20:56:57 +02:00
David Pedersen
08cbade3cb
Improve Path error when its extracted multiple times (#1023)
* Improve `Path` error

* Improve docs

* changelog

* Update axum/src/extract/path/mod.rs

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

* fix test

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2022-05-11 11:38:37 +02:00
Matteo Joliveau
280334347b
Add protocol field to WebSocket (#1022)
* Add protocol field to WebSocket

Signed-off-by: Matteo Joliveau <matteojoliveau@gmail.com>

* Use HeaderValue instead of String

Signed-off-by: Matteo Joliveau <matteojoliveau@gmail.com>

* Update axum/src/extract/ws.rs

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

* Update changelog

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2022-05-11 08:49:44 +00:00
David Pedersen
96aaac4865
axum: Version 0.5.5 (#1014) 2022-05-10 11:43:08 +00:00
David Pedersen
2353ee788c
Make docs around extracting Request more explicit (#1013) 2022-05-10 11:00:57 +00:00
David Pedersen
a3a32f493e
Add MethodRouter::{into_make_service, into_make_service_with_connect_info} (#1010) 2022-05-08 19:48:48 +02:00
lz1998
b8514cf1c2
Update LICENSE (#1006) 2022-05-07 16:20:07 +02:00
David Pedersen
d19beffd6d
Handle GET, HEAD, and OPTIONS correctly in ContentLengthLimit (#989)
* Handle `GET`/`HEAD`/`OPTIONS` in `ContentLengthLimit`

* changelog

* Apply suggestions from code review

Co-authored-by: Marcus Griep <marcus@griep.us>

* Don't allow GET/HEAD/OPTIONS with `transfer-encoding: chunked`

* simplify constructing chunked body

* Update axum/src/extract/content_length_limit.rs

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

Co-authored-by: Marcus Griep <marcus@griep.us>
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2022-05-05 09:17:54 +02:00
takumi
4b384fa01c
upgrade uuid from 0.8 to 1.0 (#995) 2022-05-05 07:48:49 +02:00
Conrad
002cff5c79
fix link about backpressure from routing section (#993) 2022-05-04 06:07:24 +00:00
Thomas Scholtes
8cc052f38b
Make Path extractor work with Deserialize impls using &str (#990)
* `Path` extractor works with `Deserialize` impls using `&str`

Before this change the extractor `Path<Test>` would fail if the
`Deserialize` implementation of `Test` was calling
`Deserializer::deserialize_str()`.

Now we use `Visitor::visit_borrowed_str()` instead of
`Visitor::visit_str()` which is also recommended in the guide to
implement a deserializer [1].

[1]: https://serde.rs/impl-deserializer.html

* fixup! `Path` extractor works with `Deserialize` impls using `&str`

* add test for percent decoding

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2022-05-03 18:44:58 +00:00
Gabriel Lacroix
d2fab9245b
Fix some typos and grammatical mistakes (#986) 2022-05-03 06:30:17 +00:00
David Pedersen
5be73c1064
axum-core: Version 0.2.4 (#984) 2022-05-02 11:52:24 +02:00
David Pedersen
8dd6070574
Implement IntoResponse for (Parts | Request<()>, $(impl IntoResponseParts)+, impl IntoResponse) (#980)
* Implement `IntoResponse for (Parts | Request<()>, $(impl IntoResponseParts)+, impl IntoResponse)`

Fixes #979

* changelog

* docs

* changelog ref
2022-04-29 22:08:47 +02:00
David Pedersen
a723ed1453
axum: Version 0.5.4 (#973) 2022-04-26 16:50:44 +02:00
David Pedersen
0702c59c7d
axum-core: Version 0.2.3 (#966) 2022-04-26 14:19:47 +00:00
David Pedersen
23f20ea1f3
Replace ByteStr with Arc<str> (#971) 2022-04-26 10:16:38 +02:00
takumi
bc6fefb052
Remove needless map (#970) 2022-04-26 09:15:04 +02:00
David Pedersen
79f6cde3b1
Update to tower-http 0.3.0 (#965)
* Update to tower-http 0.3.0

* changelog link
2022-04-25 14:59:16 +00:00
Arniu Tseng
ebecac57a3
Add FromExtractor and deprecate extractor_middleware (#957)
* Add from_extractor and deprecate extractor_middleware

* Fix clippy warnings

* Update CHANGELOG.md

* Clean doc

* Add ExtractorMiddleware* back for compatibility

* Revert "Update CHANGELOG.md"

* remove dedundant docs

* allow re-exporting deprecated types

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2022-04-24 15:31:17 +00:00
Nahua
cb6fea37af
Edit readme to make community projects stand out as examples (#956) 2022-04-24 12:49:15 +02:00
takumi
98795b7f75
Replace to_string with to_owned (#960) 2022-04-24 08:05:00 +00:00
takumi
0d2c61c472
Remove needless borrow (#961) 2022-04-24 08:03:54 +00:00
Nathaniel McCallum
8084b242d5
Add response::ErrorResponse and response::Result (#921)
* feat: add response::{Error, Result}

This type makes for efficient use of the `?` operator when in a function
with multiple return error types that all implement `IntoResponse`.

Signed-off-by: Nathaniel McCallum <nathaniel@profian.com>

* misc adjustments from PR review

* Rename to `ErrorResponse` and `ResultResponse`

* nitpicky docs changes

* update changelog

* changelog wording

* Apply suggestions from code review

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2022-04-21 16:24:29 +02:00
David Pedersen
061e66c236
axum: Version 0.5.3 (#947)
* axum: Version 0.5.3

* Update axum/CHANGELOG.md

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2022-04-19 17:00:51 +02:00
David Pedersen
2adb34c8aa
Revert "Allow Error: Into<Infallible> for Route::{layer, route_layer} (#924)" (#946)
This reverts commit ca7ecb159b.
2022-04-19 16:47:27 +02:00
David Pedersen
883a1cfd8f axum: Version 0.5.2 2022-04-19 16:19:43 +02:00
David Pedersen
ca7ecb159b
Allow Error: Into<Infallible> for Route::{layer, route_layer} (#924)
* Allow `Error: Into<Infallible>` for `Route::{layer, route_layer}`

Fixes https://github.com/tokio-rs/axum/issues/922

* changelog
2022-04-19 16:16:54 +02:00
David Pedersen
afcefb4a70
Add AppendHeaders (#927)
* Add `AppendHeaders`

* axum changelog
2022-04-17 23:14:04 +02:00
David Calavera
83e1a15040
Fix trailing redirection with query parameters (#936)
* Fix trailing redirection with query parameters

When the request URI matches a route that need a trailing slash, or has an extra trailing slash, the redirect URI is not generated correctly.

This change adds or removes a trailing slash to the path part of the URI, instead of the full URI, preserving query parameters during redirection.

Signed-off-by: David Calavera <david.calavera@gmail.com>

* Make trailing slash logic safer

Extract parts from Uri and recreate it, so it doesn't bump
into corner cases with string manipulation.

Signed-off-by: David Calavera <david.calavera@gmail.com>

* Remove extra assignment.

Signed-off-by: David Calavera <david.calavera@gmail.com>

* Update axum/src/routing/mod.rs

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>

* changelog

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2022-04-17 21:12:52 +00:00
zys864
d177a65f24
remove path::de "'any'" unneeded single quotes (#926)
* fix `route` module clippy warning

* remove `path::de` `"'any'"` unneeded singgle quotes,changes to `"any"`

Co-authored-by: zys864 <zys864@gmail.com>
2022-04-09 18:33:44 +02:00
zys864
f13eab893a
fix route module clippy warnings (#920)
Co-authored-by: zys864 <zys864@gmail.com>
2022-04-08 14:28:11 +02:00
Grachev Mikhail
4c936dbb52
Fix a typo in CHANGELOG.md (#906) 2022-04-04 09:26:39 +02:00
Tristan Bouchard
d417910a16
Add Field::chunk (#901)
* Added chunk function to multipart field

This fixes not being able to stream data from a multipart directly into a file or other output.

* doc comment for clarification of usage and &mut self

* fixed formatting

* Corrected example to reflex best practices

* Removed unwrap

* clean up docs

* update changelog

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2022-04-04 09:26:11 +02:00
David Pedersen
3e716f303f axum: Version 0.5.1 2022-04-03 20:23:18 +02:00
David Pedersen
405e3f8c44
Add SpaRouter (#904) 2022-04-03 18:29:37 +02:00
Jonas Platte
1191b58083
Add RequestParts::extract (#897) 2022-04-01 09:25:15 +02:00
David Pedersen
fec64bc1b6 axum: Version 0.5.0 2022-03-31 20:37:45 +02:00
David Pedersen
fba2faa38f
axum-core: Version 0.2.0 (#894) 2022-03-31 20:36:12 +02:00
David Pedersen
d7860ea9e2
Copy over changelogs from v0.4.x branch (#893)
* Copy over changelogs from v0.4.x branch

Preparing to release 0.5

* bump crate versions
2022-03-31 20:21:55 +02:00
David Pedersen
21552fe434
Remove bound from into_make_service_with_connect_info (#892)
Fixes #859
2022-03-31 16:49:49 +00:00
Yotam Ofek
2e5d56a9b1
Update outdated Query extractor docs. (#891) 2022-03-31 15:43:54 +02:00
Evan Schwartz
3084dc10ca
Accept &str for Redirect (#889)
* Accept &str for Redirect

* Fix doc example

* fix more docs examples

* update changelog

* fix changelog label

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2022-03-31 10:03:06 +02:00