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