Struct poem_openapi::OpenApiService
source · pub struct OpenApiService<T, W> { /* private fields */ }
Expand description
An OpenAPI service for Poem.
Implementations§
source§impl<T> OpenApiService<T, ()>
impl<T> OpenApiService<T, ()>
source§impl<T, W> OpenApiService<T, W>
impl<T, W> OpenApiService<T, W>
sourcepub fn webhooks<W2>(self) -> OpenApiService<T, W2>
pub fn webhooks<W2>(self) -> OpenApiService<T, W2>
Sets the webhooks.
sourcepub fn summary(self, summary: impl Into<String>) -> Self
pub fn summary(self, summary: impl Into<String>) -> Self
Sets the summary of the API container.
sourcepub fn description(self, description: impl Into<String>) -> Self
pub fn description(self, description: impl Into<String>) -> Self
Sets the description of the API container.
sourcepub fn terms_of_service(self, url: impl Into<String>) -> Self
pub fn terms_of_service(self, url: impl Into<String>) -> Self
Sets a URL to the Terms of Service for the API.
sourcepub fn server(self, server: impl Into<ServerObject>) -> Self
pub fn server(self, server: impl Into<ServerObject>) -> Self
Appends a server to the API container.
Reference: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#serverObject
sourcepub fn contact(self, contact: ContactObject) -> Self
pub fn contact(self, contact: ContactObject) -> Self
Sets the contact information for the exposed API.
sourcepub fn license(self, license: impl Into<LicenseObject>) -> Self
pub fn license(self, license: impl Into<LicenseObject>) -> Self
Sets the license information for the exposed API.
Reference: https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#license-object
sourcepub fn external_document(
self,
external_document: impl Into<ExternalDocumentObject>
) -> Self
pub fn external_document( self, external_document: impl Into<ExternalDocumentObject> ) -> Self
Add a external document object.
sourcepub fn extra_response_header<HT, H>(self, header: H) -> Selfwhere
HT: Type,
H: Into<ExtraHeader>,
pub fn extra_response_header<HT, H>(self, header: H) -> Selfwhere HT: Type, H: Into<ExtraHeader>,
Add extra response header
sourcepub fn extra_request_header<HT, H>(self, header: H) -> Selfwhere
HT: Type,
H: Into<ExtraHeader>,
pub fn extra_request_header<HT, H>(self, header: H) -> Selfwhere HT: Type, H: Into<ExtraHeader>,
Add extra request header
Sets the cookie key.
sourcepub fn url_prefix(self, url_prefix: impl Into<String>) -> Self
pub fn url_prefix(self, url_prefix: impl Into<String>) -> Self
Sets optional URl prefix to be added to path
sourcepub fn openapi_explorer(&self) -> impl Endpointwhere
T: OpenApi,
W: Webhook,
pub fn openapi_explorer(&self) -> impl Endpointwhere T: OpenApi, W: Webhook,
Create the OpenAPI Explorer endpoint.
sourcepub fn openapi_explorer_html(&self) -> Stringwhere
T: OpenApi,
W: Webhook,
pub fn openapi_explorer_html(&self) -> Stringwhere T: OpenApi, W: Webhook,
Create the OpenAPI Explorer HTML
sourcepub fn swagger_ui(&self) -> impl Endpointwhere
T: OpenApi,
W: Webhook,
pub fn swagger_ui(&self) -> impl Endpointwhere T: OpenApi, W: Webhook,
Create the Swagger UI endpoint.
sourcepub fn swagger_ui_html(&self) -> Stringwhere
T: OpenApi,
W: Webhook,
pub fn swagger_ui_html(&self) -> Stringwhere T: OpenApi, W: Webhook,
Create the Swagger UI HTML
sourcepub fn rapidoc(&self) -> impl Endpointwhere
T: OpenApi,
W: Webhook,
pub fn rapidoc(&self) -> impl Endpointwhere T: OpenApi, W: Webhook,
Create the Rapidoc endpoint.
sourcepub fn rapidoc_html(&self) -> Stringwhere
T: OpenApi,
W: Webhook,
pub fn rapidoc_html(&self) -> Stringwhere T: OpenApi, W: Webhook,
Create the Rapidoc HTML
sourcepub fn redoc_html(&self) -> Stringwhere
T: OpenApi,
W: Webhook,
pub fn redoc_html(&self) -> Stringwhere T: OpenApi, W: Webhook,
Create the Redoc HTML
sourcepub fn spec_endpoint(&self) -> impl Endpointwhere
T: OpenApi,
W: Webhook,
pub fn spec_endpoint(&self) -> impl Endpointwhere T: OpenApi, W: Webhook,
Create an endpoint to serve the open api specification as JSON.
sourcepub fn spec_endpoint_yaml(&self) -> impl Endpointwhere
T: OpenApi,
W: Webhook,
pub fn spec_endpoint_yaml(&self) -> impl Endpointwhere T: OpenApi, W: Webhook,
Create an endpoint to serve the open api specification as YAML.
Trait Implementations§
Auto Trait Implementations§
impl<T, W> RefUnwindSafe for OpenApiService<T, W>where T: RefUnwindSafe, W: RefUnwindSafe,
impl<T, W> Send for OpenApiService<T, W>where T: Send, W: Send,
impl<T, W> Sync for OpenApiService<T, W>where T: Sync, W: Sync,
impl<T, W> Unpin for OpenApiService<T, W>where T: Unpin, W: Unpin,
impl<T, W> UnwindSafe for OpenApiService<T, W>where T: UnwindSafe, W: UnwindSafe,
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
§impl<T> Conv for T
impl<T> Conv for T
source§impl<T> EndpointExt for Twhere
T: IntoEndpoint,
impl<T> EndpointExt for Twhere T: IntoEndpoint,
source§fn boxed<'a>(
self
) -> Box<dyn Endpoint<Output = <Self::Endpoint as Endpoint>::Output> + 'a, Global>where
Self: Sized + 'a,
fn boxed<'a>( self ) -> Box<dyn Endpoint<Output = <Self::Endpoint as Endpoint>::Output> + 'a, Global>where Self: Sized + 'a,
source§fn with<T>(self, middleware: T) -> <T as Middleware<Self::Endpoint>>::Outputwhere
T: Middleware<Self::Endpoint>,
Self: Sized,
fn with<T>(self, middleware: T) -> <T as Middleware<Self::Endpoint>>::Outputwhere T: Middleware<Self::Endpoint>, Self: Sized,
source§fn with_if<T>(
self,
enable: bool,
middleware: T
) -> EitherEndpoint<Self, <T as Middleware<Self::Endpoint>>::Output>where
T: Middleware<Self::Endpoint>,
Self: Sized,
fn with_if<T>( self, enable: bool, middleware: T ) -> EitherEndpoint<Self, <T as Middleware<Self::Endpoint>>::Output>where T: Middleware<Self::Endpoint>, Self: Sized,
source§fn data<T>(self, data: T) -> AddDataEndpoint<Self::Endpoint, T>where
T: Clone + Send + Sync + 'static,
Self: Sized,
fn data<T>(self, data: T) -> AddDataEndpoint<Self::Endpoint, T>where T: Clone + Send + Sync + 'static, Self: Sized,
with(AddData(T))
. Read moresource§fn data_opt<T>(
self,
data: Option<T>
) -> EitherEndpoint<AddDataEndpoint<Self::Endpoint, T>, Self>where
T: Clone + Send + Sync + 'static,
Self: Sized,
fn data_opt<T>( self, data: Option<T> ) -> EitherEndpoint<AddDataEndpoint<Self::Endpoint, T>, Self>where T: Clone + Send + Sync + 'static, Self: Sized,
data
is Some(T)
then attach the value to the endpoint.source§fn before<F, Fut>(self, f: F) -> Before<Self, F>where
F: Fn(Request) -> Fut + Send + Sync,
Fut: Future<Output = Result<Request, Error>> + Send,
Self: Sized,
fn before<F, Fut>(self, f: F) -> Before<Self, F>where F: Fn(Request) -> Fut + Send + Sync, Fut: Future<Output = Result<Request, Error>> + Send, Self: Sized,
source§fn after<F, Fut, T>(self, f: F) -> After<Self::Endpoint, F>where
F: Fn(Result<<Self::Endpoint as Endpoint>::Output, Error>) -> Fut + Send + Sync,
Fut: Future<Output = Result<T, Error>> + Send,
T: IntoResponse,
Self: Sized,
fn after<F, Fut, T>(self, f: F) -> After<Self::Endpoint, F>where F: Fn(Result<<Self::Endpoint as Endpoint>::Output, Error>) -> Fut + Send + Sync, Fut: Future<Output = Result<T, Error>> + Send, T: IntoResponse, Self: Sized,
source§fn around<F, Fut, R>(self, f: F) -> Around<Self::Endpoint, F>where
F: Fn(Arc<Self::Endpoint>, Request) -> Fut + Send + Sync + 'static,
Fut: Future<Output = Result<R, Error>> + Send + 'static,
R: IntoResponse,
Self: Sized,
fn around<F, Fut, R>(self, f: F) -> Around<Self::Endpoint, F>where F: Fn(Arc<Self::Endpoint>, Request) -> Fut + Send + Sync + 'static, Fut: Future<Output = Result<R, Error>> + Send + 'static, R: IntoResponse, Self: Sized,
source§fn map_to_response(self) -> MapToResponse<Self::Endpoint>where
Self: Sized,
fn map_to_response(self) -> MapToResponse<Self::Endpoint>where Self: Sized,
source§fn to_response(self) -> ToResponse<Self::Endpoint>where
Self: Sized,
fn to_response(self) -> ToResponse<Self::Endpoint>where Self: Sized,
source§fn map<F, Fut, R, R2>(self, f: F) -> Map<Self::Endpoint, F>where
F: Fn(R) -> Fut + Send + Sync,
Fut: Future<Output = R2> + Send,
R: IntoResponse,
R2: IntoResponse,
Self: Sized,
Self::Endpoint: Endpoint<Output = R> + Sized,
fn map<F, Fut, R, R2>(self, f: F) -> Map<Self::Endpoint, F>where F: Fn(R) -> Fut + Send + Sync, Fut: Future<Output = R2> + Send, R: IntoResponse, R2: IntoResponse, Self: Sized, Self::Endpoint: Endpoint<Output = R> + Sized,
source§fn and_then<F, Fut, R, R2>(self, f: F) -> AndThen<Self::Endpoint, F>where
F: Fn(R) -> Fut + Send + Sync,
Fut: Future<Output = Result<R2, Error>> + Send,
R: IntoResponse,
R2: IntoResponse,
Self: Sized,
Self::Endpoint: Endpoint<Output = R> + Sized,
fn and_then<F, Fut, R, R2>(self, f: F) -> AndThen<Self::Endpoint, F>where F: Fn(R) -> Fut + Send + Sync, Fut: Future<Output = Result<R2, Error>> + Send, R: IntoResponse, R2: IntoResponse, Self: Sized, Self::Endpoint: Endpoint<Output = R> + Sized,
source§fn catch_all_error<F, Fut, R>(self, f: F) -> CatchAllError<Self, F, R>where
F: Fn(Error) -> Fut + Send + Sync,
Fut: Future<Output = R> + Send,
R: IntoResponse + Send,
Self: Sized + Sync,
fn catch_all_error<F, Fut, R>(self, f: F) -> CatchAllError<Self, F, R>where F: Fn(Error) -> Fut + Send + Sync, Fut: Future<Output = R> + Send, R: IntoResponse + Send, Self: Sized + Sync,
source§fn catch_error<F, Fut, R, ErrType>(
self,
f: F
) -> CatchError<Self, F, R, ErrType>where
F: Fn(ErrType) -> Fut + Send + Sync,
Fut: Future<Output = R> + Send,
R: IntoResponse + Send + Sync,
ErrType: Error + Send + Sync + 'static,
Self: Sized,
fn catch_error<F, Fut, R, ErrType>( self, f: F ) -> CatchError<Self, F, R, ErrType>where F: Fn(ErrType) -> Fut + Send + Sync, Fut: Future<Output = R> + Send, R: IntoResponse + Send + Sync, ErrType: Error + Send + Sync + 'static, Self: Sized,
source§fn inspect_all_err<F>(self, f: F) -> InspectAllError<Self, F>where
F: Fn(&Error) + Send + Sync,
Self: Sized,
fn inspect_all_err<F>(self, f: F) -> InspectAllError<Self, F>where F: Fn(&Error) + Send + Sync, Self: Sized,
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where &'a Self: for<'a> IntoIterator,
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>
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere R: 'a,
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.