use crate::contracts::ResponseCodeContract;
use crate::http::HttpResult;
use ntex::web::HttpResponse;
pub trait ResultResponseExt {
fn send_result<C: ResponseCodeContract>(self, code: C) -> HttpResult;
fn send_result_msg<C: ResponseCodeContract>(self, code: C, msg: &str) -> HttpResult;
}
pub trait AppMessageExt {
fn respond(self) -> HttpResult;
}
pub trait ResponderExt {
fn respond_code<C: ResponseCodeContract>(self, msg: &str, code: C) -> HttpResult;
fn respond_msg(self, suc: &str) -> HttpResult;
fn respond(self) -> HttpResult;
fn respond_undecorated(self) -> HttpResult;
fn respond_undecorated_code(self, code: impl ResponseCodeContract) -> HttpResult;
}
pub trait StructResponseExt: Sized {
fn into_response(self) -> HttpResponse;
fn respond_code<C: ResponseCodeContract>(self, code: C, msg: &str) -> HttpResult;
fn respond_msg(self, msg: &str) -> HttpResult;
fn respond(self) -> HttpResult;
fn respond_undecorated(self) -> HttpResult;
fn respond_undecorated_code(self, code: impl ResponseCodeContract) -> HttpResult;
}
pub trait OptionResultResponseExt<T> {
fn is_empty(&self) -> bool;
fn is_error(&self) -> bool;
fn is_error_or_empty(&self) -> bool;
fn send_response<C: ResponseCodeContract>(self, code: C, msg: &str) -> HttpResult;
}
pub trait IntoHttpResultExt {
fn http_result(self) -> HttpResult;
}