pub struct ResponseData {
pub status_code: u16,
pub headers: HashMap<String, String>,
pub body: Vec<u8>,
pub content_type: String,
pub metadata: HashMap<String, Value>,
pub cache_control: Option<String>,
pub custom: HashMap<String, Value>,
}
Expand description
Response data structure
Fields§
§status_code: u16
HTTP status code
headers: HashMap<String, String>
Response headers
body: Vec<u8>
Response body
content_type: String
Content type
metadata: HashMap<String, Value>
Response metadata
cache_control: Option<String>
Cache control directives
custom: HashMap<String, Value>
Custom response data
Implementations§
Source§impl ResponseData
impl ResponseData
Sourcepub fn new(
status_code: u16,
content_type: String,
body: Vec<u8>,
) -> ResponseData
pub fn new( status_code: u16, content_type: String, body: Vec<u8>, ) -> ResponseData
Create a new response
Sourcepub fn json<T>(status_code: u16, data: &T) -> Result<ResponseData, PluginError>where
T: Serialize,
pub fn json<T>(status_code: u16, data: &T) -> Result<ResponseData, PluginError>where
T: Serialize,
Create JSON response
Sourcepub fn text<S>(status_code: u16, text: S) -> ResponseData
pub fn text<S>(status_code: u16, text: S) -> ResponseData
Create text response
Sourcepub fn html<S>(status_code: u16, html: S) -> ResponseData
pub fn html<S>(status_code: u16, html: S) -> ResponseData
Create HTML response
Sourcepub fn xml<S>(status_code: u16, xml: S) -> ResponseData
pub fn xml<S>(status_code: u16, xml: S) -> ResponseData
Create XML response
Sourcepub fn with_header<S>(self, key: S, value: S) -> ResponseData
pub fn with_header<S>(self, key: S, value: S) -> ResponseData
Add header
Sourcepub fn with_headers(self, headers: HashMap<String, String>) -> ResponseData
pub fn with_headers(self, headers: HashMap<String, String>) -> ResponseData
Add multiple headers
Sourcepub fn with_metadata<S>(self, key: S, value: Value) -> ResponseData
pub fn with_metadata<S>(self, key: S, value: Value) -> ResponseData
Add metadata
Sourcepub fn with_cache_control<S>(self, cache_control: S) -> ResponseData
pub fn with_cache_control<S>(self, cache_control: S) -> ResponseData
Set cache control
Sourcepub fn with_custom<S>(self, key: S, value: Value) -> ResponseData
pub fn with_custom<S>(self, key: S, value: Value) -> ResponseData
Add custom data
Sourcepub fn to_axum_response(self) -> Result<Response<Body>, PluginError>
pub fn to_axum_response(self) -> Result<Response<Body>, PluginError>
Convert to axum response
Sourcepub fn body_as_string(&self) -> Option<String>
pub fn body_as_string(&self) -> Option<String>
Get body as string (if valid UTF-8)
Sourcepub fn body_as_json(&self) -> Option<Value>
pub fn body_as_json(&self) -> Option<Value>
Get body as JSON value
Trait Implementations§
Source§impl Clone for ResponseData
impl Clone for ResponseData
Source§fn clone(&self) -> ResponseData
fn clone(&self) -> ResponseData
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ResponseData
impl Debug for ResponseData
Source§impl<'de> Deserialize<'de> for ResponseData
impl<'de> Deserialize<'de> for ResponseData
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ResponseData, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ResponseData, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for ResponseData
impl Serialize for ResponseData
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for ResponseData
impl RefUnwindSafe for ResponseData
impl Send for ResponseData
impl Sync for ResponseData
impl Unpin for ResponseData
impl UnwindSafe for ResponseData
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self
file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self
file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more