1
0
Fork 0
mirror of https://github.com/actix/actix-web.git synced 2024-12-23 00:26:34 +00:00
actix-web/actix-http
SuperHacker-liuan f089cf185b Let ResponseError render w/ 'text/plain; charset=utf-8' header (#1118) (#1119)
* Let ResponseError render w/ 'text/plain; charset=utf-8' header (#1118)

Trait ResponseError originally render Error messages with header
`text/plain` , which causes browsers (i.e. Firefox 70.0) with
Non-English locale unable to render UTF-8 responses with non-English
characters correctly. i.e. emoji.

This fix solved this problem by specifying the charset of `text/plain`
as utf-8, which is the default charset in rust.

Before actix-web consider to support other charsets, this hotfix is
 enough.

Test case:

fn test() -> Result<String, actix_web::Error> {
    Err(actix_web::error::ErrorForbidden("😋test"))
}

* Update actix-http/CHANGES.md for #1118
2019-10-07 10:56:24 +06:00
..
examples remove SendError and SendResponse services 2019-04-05 11:29:42 -07:00
src Let ResponseError render w/ 'text/plain; charset=utf-8' header (#1118) (#1119) 2019-10-07 10:56:24 +06:00
tests fix h2 not using error response (#1080) 2019-09-09 16:24:57 +06:00
.appveyor.yml Merge actix-http project 2019-03-26 11:54:35 -07:00
Cargo.toml fmt & clippy 2019-09-12 21:52:46 +06:00
CHANGES.md Let ResponseError render w/ 'text/plain; charset=utf-8' header (#1118) (#1119) 2019-10-07 10:56:24 +06:00
CODE_OF_CONDUCT.md Merge actix-http project 2019-03-26 11:54:35 -07:00
LICENSE-APACHE Merge actix-http project 2019-03-26 11:54:35 -07:00
LICENSE-MIT Merge actix-http project 2019-03-26 11:54:35 -07:00
README.md update readme 2019-04-08 17:53:19 -07:00
rustfmt.toml Merge actix-http project 2019-03-26 11:54:35 -07:00

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

Actix http

Documentation & community resources

Example

// see examples/framed_hello.rs for complete list of used crates.
extern crate actix_http;
use actix_http::{h1, Response, ServiceConfig};

fn main() {
    Server::new().bind("framed_hello", "127.0.0.1:8080", || {
        IntoFramed::new(|| h1::Codec::new(ServiceConfig::default()))	// <- create h1 codec
            .and_then(TakeItem::new().map_err(|_| ()))	                // <- read one request
            .and_then(|(_req, _framed): (_, Framed<_, _>)| {	        // <- send response and close conn
                SendResponse::send(_framed, Response::Ok().body("Hello world!"))
                    .map_err(|_| ())
                    .map(|_| ())
            })
    }).unwrap().run();
}

License

This project is licensed under either of

at your option.

Code of Conduct

Contribution to the actix-http crate is organized under the terms of the Contributor Covenant, the maintainer of actix-http, @fafhrd91, promises to intervene to uphold that code of conduct.