account/src/error.rs
2025-04-26 21:03:07 +02:00

25 lines
No EOL
632 B
Rust

use rocket::http::Status;
use rocket::{Request, Response};
use rocket::response::Responder;
use rocket::serde::Serialize;
use crate::xml::Xml;
#[derive(Serialize, Debug)]
pub struct Error<'a>{
pub code: &'a str,
pub message: &'a str
}
#[derive(Serialize, Debug)]
#[serde(rename(serialize = "errors"))]
pub struct Errors<'a>{
pub error: &'a [Error<'a>],
}
impl<'r, 'o: 'r> Responder<'r, 'o> for Errors<'r> {
fn respond_to(self, request: &'r Request<'_>) -> rocket::response::Result<'o> {
Response::build_from(Xml(self).respond_to(request)?)
.status(Status::BadRequest)
.ok()
}
}