2023-11-29 14:04:36 +01:00

26 lines
560 B
Rust

use rocket::{response::{Responder, self}, Request, Response, http::{Header, ContentType}};
use std::io::Cursor;
pub struct PdfStream {
data: Vec<u8>,
}
impl PdfStream {
pub fn new(data: Vec<u8>) -> PdfStream {
PdfStream { data }
}
}
#[rocket::async_trait]
impl<'r> Responder<'r, 'static> for PdfStream {
fn respond_to(self, _: &'r Request<'_>) -> response::Result<'static> {
Response::build()
.header(ContentType::PDF)
.sized_body(self.data.len(), Cursor::new(self.data))
.ok()
}
}