Commit graph

736 commits

Author SHA1 Message Date
David Pedersen
fbb4786851
axum-extra: Version 0.3.4 (#1074) 2022-06-08 15:58:37 +02:00
David Pedersen
a9eb4ac527
axum-core: Version 0.2.5 (#1073) 2022-06-08 15:56:56 +02:00
David Pedersen
ef750799fa
Automatically handle http_body::LengthLimitError (#1048)
* Automatically handle `http_body::LengthLimitError`

* add tower-http dev dep to axum-core

* just make it a link

* Make `FailedToBufferBody` an enum

* Fix tests now that tower-http handles `Content-Length`

* Bring back explanation for `LengthLimitError`

* remove todo we likely can't fix

* improve wording in docs
2022-06-08 13:47:57 +00:00
David Pedersen
73b1bafbf8
Add AsyncReadBody (#1072)
* Add `AsyncReadBody`

* changelog

* sort cargo.toml
2022-06-08 11:02:42 +02:00
David Pedersen
115a47b191
Remove tower's buffer feature (#1071)
Turns out we're not using it anymore and it saves depending on tokio-util.
2022-06-08 07:58:56 +00:00
David Pedersen
0936a246bf
Add extract::ws::close_code which contains constants for close codes (#1067)
The values and docs are copied from [tungstenite].

Fixes #1061

[tungstenite]: https://docs.rs/tungstenite/0.17.2/src/tungstenite/protocol/frame/coding.rs.html#119-188
2022-06-08 09:36:59 +02:00
David Pedersen
8ff275499b Add #1049 to changelogs 2022-06-06 18:00:52 +02:00
Matthias Vogelgesang
bff7d72c53
ECOSYSTEM.md: add wastebin pastebin service (#1065) 2022-06-03 14:34:38 +02:00
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
Vladimir
1c470ae677
ECOSYSTEM.md: Add axum-jrpc (#1056) 2022-05-26 12:07:26 +02:00
Ben Hansen
82e8eaeee4
ECOSYSTEM.md: Add Pinging.net as a showcase (#1051)
See https://github.com/benhansenslc/pinging or https://www.pinging.net/about for details about the open-source project.
2022-05-24 16:46:38 +02:00
David Pedersen
19fe93262f
Use impl IntoResponse less in docs (#1049) 2022-05-22 13:41:29 +02:00
Jonas Platte
1d7878c3c8
axum-extra: 0.3.3 (#1042)
* axum-extra: 0.3.3

* Update axum-extra/CHANGELOG.md

* Update axum-extra/CHANGELOG.md

* depend on axum-macros 0.2.2

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2022-05-18 20:29:49 +02:00
Jonas Platte
80d0cc19e6
axum-macros: 0.2.2 (#1044) 2022-05-18 20:23:56 +02:00
Christofer Nolander
d7c4e2f807
Implement Default for Extension (#1043) 2022-05-18 15:44:08 +00:00
David Pedersen
5948cde6c1
Support customizing rejections for #[derive(TypedPath)] (#1012)
* Support customizing rejections for `#[derive(TypedPath)]`

* changelog

* clean up
2022-05-17 21:36:05 +02:00
Jonas Platte
b215a87a19
Add axum_extra::extract::Query 2022-05-17 20:19:24 +02:00
David Pedersen
be71e7b286
Fix vulnerability in example-stream-to-file example (#1040)
* Fix vulnerability in example-stream-to-file example

* Save files to separate directory
2022-05-17 12:38:15 +02:00
David Pedersen
7d88bd3a66
Check for multiple body extractors in debug_handler (#1036)
* Check for multiple body extractors in `debug_handler`

* changelog link
2022-05-16 14:11:40 +00:00
David Pedersen
05529c8efc
Check Request and Path in debug_handler (#1035)
* Check `Request` and `Path` in `debug_handler`

* changelog links

* Include errors with the input
2022-05-16 10:05:17 +00:00
David Pedersen
316e20fbd9
axum: Version 0.5.6 (#1033) 2022-05-15 23:05:00 +02:00
David Pedersen
3e722379ac Add changelog link 2022-05-15 20:07:29 +02:00
David Pedersen
61c4e19598
axum-extra: 0.3.2 (#1034) 2022-05-15 20:01:00 +02:00
David Pedersen
a8e2390724 Add axum-tungstenite to ecosystem 2022-05-15 17:26:52 +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
Jonas Platte
591434778f
Slightly simplify CORS example (#1027) 2022-05-12 11:36:57 +02: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
cfdac03c8d
axum-extra: Version 0.3.1 (#1016) 2022-05-10 12:05:36 +00:00
David Pedersen
46e6d3493b
axum-macros: Version 0.2.1 (#1015) 2022-05-10 11:46:17 +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
7774cfd1f7
Update static file server example (#1011) 2022-05-08 19:52:34 +00:00
David Pedersen
852e548e19
Support #[derive(FromRequest)] on enums (#1009)
* Support `#[from_request(via(...))]` on enums

* Check `#[from_request]` on variants

* check for non enum/struct and clean up

* changelog

* changelog

* remove needless feature

* changelog ref
2022-05-08 20:04:56 +02: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
6bd726f4a9
Refactor #[derive(FromRequest)] to make illegal state unrepresentable (#1004) 2022-05-06 16:53:12 +02:00
David Pedersen
b5183afbec
Support wildcards in typed paths (#1003)
* Support wildcards in typed paths

* changelog
2022-05-06 13:05:30 +02:00
David Pedersen
4ff78e552d
Support Option and Result in typed paths (#1001)
* Support `Option` and `Result` in typed paths

* changelog

* Update axum-extra/CHANGELOG.md

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

* fix one more

Co-authored-by: Jonas Platte <jplatte+git@posteo.de>
2022-05-06 09:42:10 +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
David Pedersen
d1043db254
Fix driving readiness for example-rest-grpc-multiplex (#988) 2022-05-03 09:21:49 +00:00
Gabriel Lacroix
d2fab9245b
Fix some typos and grammatical mistakes (#986) 2022-05-03 06:30:17 +00:00
takumi
4ff5e409e3
Add rest and grpc example (#967)
* Add rest and grpc example

* remove needless dependencies

* Apply suggestions from code review

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

* Update examples/rest-grpc-multiplex/src/main.rs

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

* Update examples/rest-grpc-multiplex/src/main.rs

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

* Update examples/rest-grpc-multiplex/src/multiplex_service.rs

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

* Update examples/rest-grpc-multiplex/Cargo.toml

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

* Update examples/rest-grpc-multiplex/src/multiplex_service.rs

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

* clean noisy code

* fix nitpicks

* missing newline

Co-authored-by: David Pedersen <david.pdrsn@gmail.com>
2022-05-02 15:52:55 +00:00
Rohan Jain
a223fd8b85
Ignore target directories in individual examples (#981)
These get created with `rust-analyzer`, which pollutes the git status
output.
2022-05-02 17:20:23 +02:00