pub struct ResponsePolicy { /* private fields */ }Expand description
Per-application JSON success and error policy.
Mappers receive the current request, allowing envelopes to include request IDs or other context without process-global handlers. Values are fully serialized before headers are committed, so serialization failures become a deterministic HTTP 500 response.
Implementations§
Source§impl ResponsePolicy
impl ResponsePolicy
pub fn new() -> Self
pub fn with_success_mapper<F>(self, mapper: F) -> Self
pub fn with_error_mapper<F>(self, mapper: F) -> Self
pub fn ok<T>(&self, request: &HttpRequest, value: T) -> HttpResponsewhere
T: Serialize,
pub fn error(&self, request: &HttpRequest, error: &ApiError) -> HttpResponse
pub fn respond<T>(
&self,
request: &HttpRequest,
result: Result<T, ApiError>,
) -> HttpResponsewhere
T: Serialize,
Sourcepub fn grpc_error(&self, request: &HttpRequest, status: &Status) -> HttpResponse
pub fn grpc_error(&self, request: &HttpRequest, status: &Status) -> HttpResponse
Converts a Tonic status using the same status families as go-zero’s REST bridge.
Trait Implementations§
Source§impl Clone for ResponsePolicy
impl Clone for ResponsePolicy
Source§fn clone(&self) -> ResponsePolicy
fn clone(&self) -> ResponsePolicy
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for ResponsePolicy
impl !UnwindSafe for ResponsePolicy
impl Freeze for ResponsePolicy
impl Send for ResponsePolicy
impl Sync for ResponsePolicy
impl Unpin for ResponsePolicy
impl UnsafeUnpin for ResponsePolicy
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
Source§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
Source§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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request