actix_rewrite/
error.rs

1//! Error and Result module
2
3use actix_web::ResponseError;
4use derive_more::{Display, Error, From};
5
6/// Errors which occur when processing Reverse Proxy Requests/Responses
7#[derive(Debug, Display, From, Error)]
8#[non_exhaustive]
9pub enum Error {
10    #[display("Invalid rewrite expression")]
11    RuleError(mod_rewrite::error::ExpressionError),
12
13    #[display("Rewrite engine encountered an error")]
14    RewriteError(mod_rewrite::error::EngineError),
15
16    #[display("Rewrite returned invalid status code")]
17    InvalidStatus(actix_http::error::InvalidStatusCode),
18
19    #[display("Rewrite generated an invalid uri")]
20    InvalidUri(actix_http::uri::InvalidUri),
21
22    #[display("Rewrite query join failed to parse query")]
23    InvalidQuery(actix_web::error::QueryPayloadError),
24
25    #[display("Failed to re-encode query-string")]
26    QueryEncodeError(serde_urlencoded::ser::Error),
27
28    #[display("Failed to build http request uri")]
29    RequestError(actix_web::error::HttpError),
30}
31
32impl ResponseError for Error {
33    /// Returns `500 Internal Server Error`.
34    fn status_code(&self) -> actix_web::http::StatusCode {
35        actix_web::http::StatusCode::INTERNAL_SERVER_ERROR
36    }
37}