1
0
mirror of https://github.com/fafhrd91/actix-web synced 2025-01-18 22:01:50 +01:00
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
2020-08-13 16:04:50 +09:00
2020-09-20 23:18:25 +01:00
2020-09-11 13:50:10 +01:00
2018-01-21 15:29:02 -08:00
2020-09-11 13:50:10 +01:00
2020-09-11 13:50:10 +01:00
2020-09-11 13:50:10 +01:00
2020-07-21 16:40:30 +09:00
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.

Description
Actix web is a small, pragmatic, and extremely fast rust web framework. https://actix.rs
Readme 25 MiB
Languages
Rust 99.4%
Shell 0.4%
Just 0.2%