SecretStore: return error if http listner init has failed
This commit is contained in:
parent
8d15338c84
commit
9a5d0fed2c
@ -85,10 +85,10 @@ impl KeyServerHttpListener {
|
|||||||
});
|
});
|
||||||
|
|
||||||
let listener_address = format!("{}:{}", listener_address.address, listener_address.port);
|
let listener_address = format!("{}:{}", listener_address.address, listener_address.port);
|
||||||
let http_server = HttpServer::http(&listener_address).expect("cannot start HttpServer");
|
let http_server = HttpServer::http(&listener_address)
|
||||||
let http_server = http_server.handle(KeyServerHttpHandler {
|
.and_then(|http_server| http_server.handle(KeyServerHttpHandler {
|
||||||
handler: shared_handler.clone(),
|
handler: shared_handler.clone(),
|
||||||
}).expect("cannot start HttpServer");
|
})).map_err(|err| Error::Hyper(format!("{}", err)))?;
|
||||||
|
|
||||||
let listener = KeyServerHttpListener {
|
let listener = KeyServerHttpListener {
|
||||||
http_server: http_server,
|
http_server: http_server,
|
||||||
@ -234,6 +234,7 @@ fn return_error(mut res: HttpResponse, err: Error) {
|
|||||||
Error::BadSignature => *res.status_mut() = HttpStatusCode::BadRequest,
|
Error::BadSignature => *res.status_mut() = HttpStatusCode::BadRequest,
|
||||||
Error::AccessDenied => *res.status_mut() = HttpStatusCode::Forbidden,
|
Error::AccessDenied => *res.status_mut() = HttpStatusCode::Forbidden,
|
||||||
Error::DocumentNotFound => *res.status_mut() = HttpStatusCode::NotFound,
|
Error::DocumentNotFound => *res.status_mut() = HttpStatusCode::NotFound,
|
||||||
|
Error::Hyper(_) => *res.status_mut() = HttpStatusCode::BadRequest,
|
||||||
Error::Serde(_) => *res.status_mut() = HttpStatusCode::BadRequest,
|
Error::Serde(_) => *res.status_mut() = HttpStatusCode::BadRequest,
|
||||||
Error::Database(_) => *res.status_mut() = HttpStatusCode::InternalServerError,
|
Error::Database(_) => *res.status_mut() = HttpStatusCode::InternalServerError,
|
||||||
Error::Internal(_) => *res.status_mut() = HttpStatusCode::InternalServerError,
|
Error::Internal(_) => *res.status_mut() = HttpStatusCode::InternalServerError,
|
||||||
|
@ -44,6 +44,8 @@ pub enum Error {
|
|||||||
AccessDenied,
|
AccessDenied,
|
||||||
/// Requested document not found
|
/// Requested document not found
|
||||||
DocumentNotFound,
|
DocumentNotFound,
|
||||||
|
/// Hyper error
|
||||||
|
Hyper(String),
|
||||||
/// Serialization/deserialization error
|
/// Serialization/deserialization error
|
||||||
Serde(String),
|
Serde(String),
|
||||||
/// Database-related error
|
/// Database-related error
|
||||||
@ -118,6 +120,7 @@ impl fmt::Display for Error {
|
|||||||
Error::BadSignature => write!(f, "Bad signature"),
|
Error::BadSignature => write!(f, "Bad signature"),
|
||||||
Error::AccessDenied => write!(f, "Access dened"),
|
Error::AccessDenied => write!(f, "Access dened"),
|
||||||
Error::DocumentNotFound => write!(f, "Document not found"),
|
Error::DocumentNotFound => write!(f, "Document not found"),
|
||||||
|
Error::Hyper(ref msg) => write!(f, "Hyper error: {}", msg),
|
||||||
Error::Serde(ref msg) => write!(f, "Serialization error: {}", msg),
|
Error::Serde(ref msg) => write!(f, "Serialization error: {}", msg),
|
||||||
Error::Database(ref msg) => write!(f, "Database error: {}", msg),
|
Error::Database(ref msg) => write!(f, "Database error: {}", msg),
|
||||||
Error::Internal(ref msg) => write!(f, "Internal error: {}", msg),
|
Error::Internal(ref msg) => write!(f, "Internal error: {}", msg),
|
||||||
|
Loading…
Reference in New Issue
Block a user