1
0
mirror of https://github.com/actix/actix-website synced 2024-11-27 18:12:57 +01:00

Docs update and ci bumped up hugo version (#138)

This commit is contained in:
Dominic 2020-01-03 05:10:24 +01:00 committed by Nikolay Kim
parent 4fffc16668
commit 58341eca3a
3 changed files with 17 additions and 11 deletions

View File

@ -15,7 +15,7 @@ cache:
- $TRAVIS_BUILD_DIR/examples/target
install:
- curl -L https://github.com/gohugoio/hugo/releases/download/v0.40.3/hugo_0.40.3_Linux-64bit.tar.gz | tar xzvf -
- curl -L https://github.com/gohugoio/hugo/releases/download/v0.62.1/hugo_0.62.1_Linux-64bit.tar.gz | tar xzvf -
matrix:
include:

View File

@ -12,15 +12,12 @@ from web handlers.
If a handler returns an `Error` (referring to the [general Rust trait
`std::error::Error`][stderror]) in a `Result` that also implements the
`ResponseError` trait, actix-web will render that error as an HTTP response.
`ResponseError` has a single function called `error_response()` that returns
`HttpResponse`:
`ResponseError` trait, actix-web will render that error as an HTTP response with it's corresponding [`actix_web::http::StatusCode`][status_code]. Internal server error is generated by default:
```rust
pub trait ResponseError: Fail {
fn error_response(&self) -> HttpResponse {
HttpResponse::new(StatusCode::INTERNAL_SERVER_ERROR)
}
pub trait ResponseError {
fn error_response(&self) -> HttpResponse;
fn status_code(&self) -> StatusCode;
}
```
@ -55,7 +52,7 @@ Here's an example implementation for `ResponseError`:
{{< include-example example="errors" file="main.rs" section="response-error" >}}
`ResponseError` has a default implementation for `error_response()` that will
render a *500* (internal server error), and that's what will happen when the
render a _500_ (internal server error), and that's what will happen when the
`index` handler executes above.
Override `error_response()` to produce more useful results:
@ -66,7 +63,7 @@ Override `error_response()` to produce more useful results:
Actix-web provides a set of error helper functions that are useful for generating
specific HTTP error codes from other errors. Here we convert `MyError`, which
doesn't implement the `ResponseError` trait, to a *400* (bad request) using
doesn't implement the `ResponseError` trait, to a _400_ (bad request) using
`map_err`:
{{< include-example example="errors" file="helpers.rs" section="helpers" >}}
@ -78,7 +75,7 @@ for a full list of available error helpers.
Actix-web provides automatic compatibility with the [failure] library so that
errors deriving `fail` will be converted automatically to an actix error. Keep
in mind that those errors will render with the default *500* status code unless you
in mind that those errors will render with the default _500_ status code unless you
also provide your own `error_response()` implementation for them.
# Error logging
@ -140,3 +137,4 @@ This is a basic example using `middleware::Logger`:
[responseerror]: https://docs.rs/actix-web/2/actix_web/error/trait.ResponseError.html
[responseerrorimpls]: https://docs.rs/actix-web/2/actix_web/error/trait.ResponseError.html#foreign-impls
[stderror]: https://doc.rust-lang.org/std/error/trait.Error.html
[status_code]: https://docs.rs/actix-web/2.0.0/actix_web/http/struct.StatusCode.html

View File

@ -20,6 +20,14 @@ cd hello-world
Now, add `actix-web` as a dependency of your project by ensuring your `Cargo.toml`
contains the following:
```ini
[dependencies]
actix-web = "{{< actix-version "actix-web" >}}"
```
If you want to use the `#[actix_rt::main]` macro, you have to add `actix-rt` to your dependency.
Now your `Cargo.toml` should look like following:
```ini
[dependencies]
actix-web = "{{< actix-version "actix-web" >}}"