use better_logger::logger::error;
use std::fmt::Debug;
use actix_web::HttpResponse;
use actix_session::Session;
#[derive(Debug)]
pub(crate) struct Error;
impl Error {
#[inline]
pub(crate) fn fmt(err: impl Debug) -> Option<String> {
return Some(format!("{:?}", err));
}
pub(crate) fn send(sess: Session, redirect_url: &str, handler: &str, msg: &str, err: Option<String>) -> HttpResponse {
let error_message = match err {
Some(error) => format!("({}) {}: {}", handler, msg, error),
None => format!("({}) {}", handler, msg),
};
error!("{}", error_message);
sess.purge();
return HttpResponse::Found()
.insert_header(("Location", redirect_url))
.insert_header(("Cache-Control", "no-store, no-cache, must-revalidate"))
.insert_header(("Pragma", "no-cache"))
.finish();
}
}