1
0
mirror of https://github.com/fafhrd91/actix-web synced 2025-01-18 05:41:50 +01:00
Peter Ding 64f603b076 Support to set header names of ClientRequest as Camel-Case (#713)
* Support to set header names of `ClientRequest` as Camel-Case

This is the case for supporting to request for servers which don't
perfectly implement the `RFC 7230`. It is important for an app
which uses `ClientRequest` as core part.

* Add field `upper_camel_case_headers` to `ClientRequest`.

* Add function `set_upper_camel_case_headers` to `ClientRequest`
  and `ClientRequestBuilder` to set field `upper_camel_case_headers`.

* Add trait `client::writer::UpperCamelCaseHeader` for
  `http::header::HeaderName`, let it can be converted to Camel-Case
  then writed to buffer.

* Add test `test_client::test_upper_camel_case_headers`.

* Support upper Camel-Case headers

* [actix-http] Add field `upper_camel_case_headers` for `RequestHead`
* [actix-http] Add code for `MessageType` to support upper camel case
* [awc] Add functions for `ClientRequest` to set upper camel case

* Use `Flags::CAMEL_CASE` for upper camel case of headers
2019-04-24 10:48:49 -07:00
2019-04-21 09:03:46 -07:00
2019-04-18 21:28:23 -07:00
2019-04-21 16:14:09 -07:00
2019-04-20 21:16:51 -07:00
2019-04-21 09:03:46 -07:00
2019-04-20 21:16:51 -07:00
2019-04-17 17:48:25 -07:00
2018-10-08 21:58:37 -07:00
2017-11-27 16:41:37 -08:00
2019-04-24 07:31:33 -07:00
2018-01-21 15:29:02 -08:00
2017-12-17 10:08:44 -08:00
2018-03-24 09:35:52 +03:00
2019-04-19 13:55:36 -07:00
2019-03-01 22:51:32 -08:00

Actix web Build Status codecov crates.io Join the chat at https://gitter.im/actix/actix

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

Documentation & community resources

Example

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

fn index(info: web::Path<(u32, String)>) -> impl Responder {
    format!("Hello {}! id:{}", info.1, info.0)
}

fn main() -> std::io::Result<()> {
    HttpServer::new(
        || App::new().service(
              web::resource("/{id}/{name}/index.html").to(index)))
        .bind("127.0.0.1:8080")?
        .run()
}

More examples

You may consider checking out this directory for more examples.

Benchmarks

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 maintainer of actix-web, @fafhrd91, 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%