use tk_http::Status;
#[derive(Debug, Clone, PartialEq)]
pub enum CloseReason {
PoolStopped,
AuthHttp(Status),
PeerClose(u16, String),
}
impl CloseReason {
pub fn code(&self) -> u16 {
use self::CloseReason::*;
match *self {
PoolStopped => 4001,
AuthHttp(code) if code.code() >= 400 && code.code() <= 599
=> 4000 + code.code(),
AuthHttp(_) => 4500,
PeerClose(x, _) => x,
}
}
pub fn reason(&self) -> &str {
use self::CloseReason::*;
match *self {
PoolStopped => "session_pool_stopped",
AuthHttp(_) => "backend_error",
PeerClose(_, ref y) => y,
}
}
}