use common::prelude::*;
use web::WebRequest;
use providers::StatusEvent;
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
pub enum RequestType {
ExecuteHook,
Ping,
Invalid,
}
#[derive(Debug, Clone)]
pub enum Request {
Web(WebRequest),
Status(StatusEvent),
}
impl Request {
pub fn web(&self) -> Result<&WebRequest> {
if let Request::Web(ref req) = *self {
Ok(req)
} else {
Err(ErrorKind::WrongRequestKind.into())
}
}
}
impl From<WebRequest> for Request {
fn from(from: WebRequest) -> Request {
Request::Web(from)
}
}
impl From<StatusEvent> for Request {
fn from(from: StatusEvent) -> Request {
Request::Status(from)
}
}