Skip to main content

rama_http/service/web/endpoint/response/
script.rs

1use super::{Headers, IntoResponse};
2use crate::headers::ContentType;
3use crate::{Body, Response};
4use rama_utils::macros::impl_deref;
5
6/// An HTML response.
7///
8/// Will automatically get `Content-Type: application/javascript; charset=utf-8`.
9#[derive(Debug, Clone, Copy)]
10pub struct Script<T>(pub T);
11
12impl_deref!(Script);
13
14impl<T> IntoResponse for Script<T>
15where
16    T: Into<Body>,
17{
18    fn into_response(self) -> Response {
19        (
20            Headers::single(ContentType::javascript_utf8()),
21            self.0.into(),
22        )
23            .into_response()
24    }
25}
26
27impl<T> From<T> for Script<T> {
28    fn from(inner: T) -> Self {
29        Self(inner)
30    }
31}