1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-12-21 07:36:43 +00:00
Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
Find a file
Matt Gathu 37c76a39ab
Fix Multipart consuming payload before header checks (#1704)
* Fix Multipart consuming payload before header checks

What
--
Split up logic in the constructor into two functions:

- **from_boundary:** build Multipart from boundary and stream
- **from_error:** build Multipart for MultipartError

Also we make the `boundary`, `from_boundary`, `from_error`  methods public within the crate so that we can use them in the extractor.

The extractor is then able to perform header checks and only consume the
payload if the checks pass.

* Add tests

* Add payload consumption test

Co-authored-by: Rob Ede <robjtede@icloud.com>
2020-09-25 14:50:37 +01:00
.github Use action to upload docs 2020-08-13 16:04:50 +09:00
actix-files split up files lib (#1685) 2020-09-20 23:18:25 +01:00
actix-http eemove non-relevant comment from actix-http README.md (#1701) 2020-09-20 17:21:53 +01:00
actix-multipart Fix Multipart consuming payload before header checks (#1704) 2020-09-25 14:50:37 +01:00
actix-web-actors the big three point oh (#1668) 2020-09-11 13:50:10 +01:00
actix-web-codegen prepare codegen 0.4.0 release (#1702) 2020-09-24 23:54:01 +01:00
awc the big three point oh (#1668) 2020-09-11 13:50:10 +01:00
benches Fix leaks with actix_http's client (#1580) 2020-07-10 22:35:22 +01:00
docs/graphs bump connect and tls versions (#1655) 2020-09-09 09:20:54 +01:00
examples re-export actix_rt::main macro (#1559) 2020-06-18 15:45:30 +01:00
src Add TrailingSlash::MergeOnly behavior (#1695) 2020-09-25 12:50:59 +01:00
test-server Add possibility to set address for test_server (#1645) 2020-09-15 12:09:16 +01:00
tests make TrailingSlash enum accessible (#1673) 2020-09-13 00:55:39 +01:00
.gitignore make TrailingSlash enum accessible (#1673) 2020-09-13 00:55:39 +01:00
Cargo.toml update actix-http dev-dependencies (#1696) 2020-09-19 23:20:34 +09:00
CHANGES.md Add TrailingSlash::MergeOnly behavior (#1695) 2020-09-25 12:50:59 +01:00
CODE_OF_CONDUCT.md code of conduct 2018-01-21 15:29:02 -08:00
codecov.yml Remove codecoverage for tests and examples (#1299) 2020-01-24 05:10:02 +09:00
LICENSE-APACHE the big three point oh (#1668) 2020-09-11 13:50:10 +01:00
LICENSE-MIT the big three point oh (#1668) 2020-09-11 13:50:10 +01:00
MIGRATION.md Add TrailingSlash::MergeOnly behavior (#1695) 2020-09-25 12:50:59 +01:00
README.md the big three point oh (#1668) 2020-09-11 13:50:10 +01:00
rust-toolchain bump MSRV to 1.42 (#1616) 2020-07-21 16:40:30 +09:00
rustfmt.toml copy actix-web2 2019-03-01 22:51:32 -08:00

Actix web

Actix web is a powerful, pragmatic, and extremely fast web framework for Rust

crates.io Documentation Version License
Build Status codecov Download Join the chat at https://gitter.im/actix/actix

Features

Documentation

Example

Dependencies:

[dependencies]
actix-web = "3"

Code:

use actix_web::{get, web, App, HttpServer, Responder};

#[get("/{id}/{name}/index.html")]
async fn index(web::Path((id, name)): web::Path<(u32, String)>) -> impl Responder {
    format!("Hello {}! id:{}", name, id)
}

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| App::new().service(index))
        .bind("127.0.0.1:8080")?
        .run()
        .await
}

More examples

You may consider checking out this directory for more examples.

Benchmarks

One of the fastest web frameworks available according to the TechEmpower Framework Benchmark.

License

This project is licensed under either of

at your option.

Code of Conduct

Contribution to the actix-web crate is organized under the terms of the Contributor Covenant, the maintainers of Actix web, promises to intervene to uphold that code of conduct.