pub struct RouteDefinition { /* private fields */ }Expand description
A framework-neutral route definition.
Implementations§
Source§impl RouteDefinition
impl RouteDefinition
pub fn all<H>(path: impl Into<String>, handler: H) -> Result<Self>where
H: RouteHandler,
pub fn all_scoped<F, H>(path: impl Into<String>, factory: F) -> Result<Self>
pub fn all_json<H, Fut, R>(path: impl Into<String>, handler: H) -> Result<Self>
pub fn all_json_with_status<H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn get<H>(path: impl Into<String>, handler: H) -> Result<Self>where
H: RouteHandler,
pub fn get_scoped<F, H>(path: impl Into<String>, factory: F) -> Result<Self>
pub fn get_json<H, Fut, R>(path: impl Into<String>, handler: H) -> Result<Self>
pub fn get_json_with_status<H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn get_view<H, Fut, R>( path: impl Into<String>, view: impl Into<String>, handler: H, ) -> Result<Self>
pub fn get_view_with_status<H, Fut, R>( path: impl Into<String>, view: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn sse<H, Fut, S>(path: impl Into<String>, handler: H) -> Result<Self>
pub fn post<H>(path: impl Into<String>, handler: H) -> Result<Self>where
H: RouteHandler,
pub fn post_scoped<F, H>(path: impl Into<String>, factory: F) -> Result<Self>
pub fn post_json<T, H, Fut, R>( path: impl Into<String>, handler: H, ) -> Result<Self>
pub fn post_json_with_status<T, H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn post_view<H, Fut, R>( path: impl Into<String>, view: impl Into<String>, handler: H, ) -> Result<Self>
pub fn post_view_with_status<H, Fut, R>( path: impl Into<String>, view: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn post_validated_json<T, H, Fut, R>( path: impl Into<String>, handler: H, ) -> Result<Self>
pub fn post_validated_json_with_status<T, H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn put<H>(path: impl Into<String>, handler: H) -> Result<Self>where
H: RouteHandler,
pub fn put_scoped<F, H>(path: impl Into<String>, factory: F) -> Result<Self>
pub fn put_json<T, H, Fut, R>( path: impl Into<String>, handler: H, ) -> Result<Self>
pub fn put_json_with_status<T, H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn put_validated_json<T, H, Fut, R>( path: impl Into<String>, handler: H, ) -> Result<Self>
pub fn put_validated_json_with_status<T, H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn patch<H>(path: impl Into<String>, handler: H) -> Result<Self>where
H: RouteHandler,
pub fn patch_scoped<F, H>(path: impl Into<String>, factory: F) -> Result<Self>
pub fn patch_json<T, H, Fut, R>( path: impl Into<String>, handler: H, ) -> Result<Self>
pub fn patch_json_with_status<T, H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn patch_validated_json<T, H, Fut, R>( path: impl Into<String>, handler: H, ) -> Result<Self>
pub fn patch_validated_json_with_status<T, H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn delete<H>(path: impl Into<String>, handler: H) -> Result<Self>where
H: RouteHandler,
pub fn delete_scoped<F, H>(path: impl Into<String>, factory: F) -> Result<Self>
pub fn delete_json<H, Fut, R>( path: impl Into<String>, handler: H, ) -> Result<Self>
pub fn delete_json_with_status<H, Fut, R>( path: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
pub fn options<H>(path: impl Into<String>, handler: H) -> Result<Self>where
H: RouteHandler,
pub fn options_scoped<F, H>(path: impl Into<String>, factory: F) -> Result<Self>
pub fn head<H>(path: impl Into<String>, handler: H) -> Result<Self>where
H: RouteHandler,
pub fn head_scoped<F, H>(path: impl Into<String>, factory: F) -> Result<Self>
pub fn view<H, Fut, R>( method: HttpMethod, path: impl Into<String>, view: impl Into<String>, handler: H, ) -> Result<Self>
pub fn view_with_status<H, Fut, R>( method: HttpMethod, path: impl Into<String>, view: impl Into<String>, status: u16, handler: H, ) -> Result<Self>
Source§impl RouteDefinition
impl RouteDefinition
pub fn new<H>(
method: HttpMethod,
path: impl Into<String>,
handler: H,
) -> Result<Self>where
H: RouteHandler,
pub fn new_scoped<F, H>( method: HttpMethod, path: impl Into<String>, factory: F, ) -> Result<Self>
Sourcepub fn new_provider<T, F>(
method: HttpMethod,
path: impl Into<String>,
factory: F,
) -> Result<Self>
pub fn new_provider<T, F>( method: HttpMethod, path: impl Into<String>, factory: F, ) -> Result<Self>
Build a route whose handler resolves a provider from the current request scope before constructing the concrete route handler.
pub fn method(&self) -> HttpMethod
pub fn path(&self) -> &str
pub fn host(&self) -> Option<&str>
pub fn path_shape(&self) -> String
pub fn host_shape(&self) -> Option<String>
pub fn path_param_names(&self) -> Vec<&str>
pub fn host_param_names(&self) -> Vec<&str>
pub fn matches_path(&self, path: &str) -> bool
pub fn matches_host(&self, host: Option<&str>) -> bool
pub fn path_params( &self, path: &str, ) -> Result<Option<BTreeMap<String, String>>>
pub fn host_params( &self, host: Option<&str>, ) -> Result<Option<BTreeMap<String, String>>>
pub fn module_name(&self) -> Option<&str>
pub fn controller_prefix(&self) -> Option<&str>
pub fn handler(&self) -> Arc<dyn RouteHandler> ⓘ
pub fn openapi(&self) -> &OpenApiRouteMetadata
pub fn versioning(&self) -> &RouteVersioning
pub fn serialization(&self) -> &SerializationOptions
pub fn metadata(&self) -> &BTreeMap<String, Value>
pub fn metadata_value(&self, key: &str) -> Option<&Value>
pub fn metadata_as<T>(&self, key: &str) -> Result<Option<T>>where
T: DeserializeOwned,
pub fn validation_enabled(&self) -> bool
pub fn with_host(self, pattern: impl Into<String>) -> Result<Self>
pub fn without_host(self) -> Self
pub fn with_version(self, version: impl Into<String>) -> Self
pub fn with_versions<I, V>(self, versions: I) -> Self
pub fn version_neutral(self) -> Self
pub fn with_serialization(self, options: SerializationOptions) -> Self
pub fn with_metadata<V>(self, key: impl Into<String>, value: V) -> Result<Self>where
V: Serialize,
pub fn with_metadata_value(self, key: impl Into<String>, value: Value) -> Self
Source§impl RouteDefinition
impl RouteDefinition
pub async fn call(&self, request: BootRequest) -> Result<BootResponse>
Sourcepub async fn handle(&self, request: BootRequest) -> BootResponse
pub async fn handle(&self, request: BootRequest) -> BootResponse
Dispatch a request through this route and convert unhandled errors into Boot HTTP responses.
Source§impl RouteDefinition
impl RouteDefinition
pub fn with_openapi(self, metadata: OpenApiRouteMetadata) -> Self
pub fn with_tag(self, tag: impl Into<String>) -> Self
pub fn with_operation_id(self, operation_id: impl Into<String>) -> Self
pub fn with_summary(self, summary: impl Into<String>) -> Self
pub fn with_description(self, description: impl Into<String>) -> Self
pub fn with_deprecated(self) -> Self
pub fn with_openapi_server(self, url: impl Into<String>) -> Self
pub fn with_openapi_server_description( self, url: impl Into<String>, description: impl Into<String>, ) -> Self
pub fn with_openapi_external_docs( self, description: impl Into<String>, url: impl Into<String>, ) -> Self
pub fn with_openapi_extension_value( self, name: impl Into<String>, value: Value, ) -> Self
pub fn with_openapi_extension_default_value( self, name: impl Into<String>, value: Value, ) -> Self
pub fn try_with_openapi_extension<T>(
self,
name: impl Into<String>,
value: T,
) -> Result<Self>where
T: Serialize,
pub fn hide_from_openapi(self) -> Self
pub fn with_parameter(self, parameter: OpenApiParameter) -> Self
pub fn with_parameter_ref( self, location: OpenApiParameterLocation, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_path_parameter( self, name: impl Into<String>, schema: OpenApiSchema, ) -> Self
pub fn with_path_parameter_ref( self, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_query_parameter( self, name: impl Into<String>, required: bool, schema: OpenApiSchema, ) -> Self
pub fn with_query_parameter_ref( self, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_header_parameter( self, name: impl Into<String>, required: bool, schema: OpenApiSchema, ) -> Self
pub fn with_header_parameter_ref( self, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_request_body(self, request_body: OpenApiRequestBody) -> Self
pub fn with_request_body_ref(self, component_name: impl AsRef<str>) -> Self
pub fn with_request_body_content_type( self, content_type: impl Into<String>, schema: OpenApiSchema, ) -> Self
pub fn with_json_request_body(self, schema: OpenApiSchema) -> Self
pub fn try_with_request_body_content_type_example<T>(
self,
content_type: impl Into<String>,
schema: OpenApiSchema,
example: T,
) -> Result<Self>where
T: Serialize,
pub fn try_with_json_request_body_example<T>(
self,
schema: OpenApiSchema,
example: T,
) -> Result<Self>where
T: Serialize,
pub fn try_with_request_body_content_type_named_example<T>(
self,
content_type: impl Into<String>,
schema: OpenApiSchema,
name: impl Into<String>,
example: T,
) -> Result<Self>where
T: Serialize,
pub fn try_with_json_request_body_named_example<T>(
self,
schema: OpenApiSchema,
name: impl Into<String>,
example: T,
) -> Result<Self>where
T: Serialize,
pub fn with_request_body_content_type_named_example_ref( self, content_type: impl Into<String>, schema: OpenApiSchema, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_json_request_body_named_example_ref( self, schema: OpenApiSchema, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_response(self, status: u16, response: OpenApiResponse) -> Self
pub fn with_response_ref( self, status: u16, component_name: impl AsRef<str>, ) -> Self
pub fn with_default_response(self, response: OpenApiResponse) -> Self
pub fn with_default_response_ref(self, component_name: impl AsRef<str>) -> Self
pub fn with_openapi_response_header( self, status: u16, name: impl Into<String>, header: OpenApiHeader, ) -> Self
pub fn with_openapi_response_header_ref( self, status: u16, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_default_openapi_response_header( self, name: impl Into<String>, header: OpenApiHeader, ) -> Self
pub fn with_default_openapi_response_header_ref( self, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_response_content_type( self, status: u16, description: impl Into<String>, content_type: impl Into<String>, schema: OpenApiSchema, ) -> Self
pub fn with_json_response( self, status: u16, description: impl Into<String>, schema: OpenApiSchema, ) -> Self
pub fn try_with_response_content_type_example<T>(
self,
status: u16,
description: impl Into<String>,
content_type: impl Into<String>,
schema: OpenApiSchema,
example: T,
) -> Result<Self>where
T: Serialize,
pub fn try_with_json_response_example<T>(
self,
status: u16,
description: impl Into<String>,
schema: OpenApiSchema,
example: T,
) -> Result<Self>where
T: Serialize,
pub fn try_with_response_content_type_named_example<T>(
self,
status: u16,
description: impl Into<String>,
content_type: impl Into<String>,
schema: OpenApiSchema,
name: impl Into<String>,
example: T,
) -> Result<Self>where
T: Serialize,
pub fn try_with_json_response_named_example<T>(
self,
status: u16,
description: impl Into<String>,
schema: OpenApiSchema,
name: impl Into<String>,
example: T,
) -> Result<Self>where
T: Serialize,
pub fn with_response_content_type_named_example_ref( self, status: u16, description: impl Into<String>, content_type: impl Into<String>, schema: OpenApiSchema, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_json_response_named_example_ref( self, status: u16, description: impl Into<String>, schema: OpenApiSchema, name: impl Into<String>, component_name: impl AsRef<str>, ) -> Self
pub fn with_security_requirement( self, requirement: OpenApiSecurityRequirement, ) -> Self
pub fn with_api_security<I, S>(self, name: impl Into<String>, scopes: I) -> Self
pub fn with_security_scheme( self, name: impl Into<String>, scheme: OpenApiSecurityScheme, ) -> Self
pub fn with_bearer_auth(self) -> Self
pub fn with_bearer_auth_named(self, name: impl Into<String>) -> Self
pub fn with_api_key_auth( self, scheme_name: impl Into<String>, location: OpenApiApiKeyLocation, key_name: impl Into<String>, ) -> Self
pub fn with_header_api_key_auth( self, scheme_name: impl Into<String>, header_name: impl Into<String>, ) -> Self
pub fn with_query_api_key_auth( self, scheme_name: impl Into<String>, query_name: impl Into<String>, ) -> Self
pub fn with_oauth2_auth<I, S>( self, scheme_name: impl Into<String>, flows: OpenApiOAuthFlows, scopes: I, ) -> Self
pub fn with_open_id_connect_auth<I, S>( self, scheme_name: impl Into<String>, url: impl Into<String>, scopes: I, ) -> Self
pub fn with_schema_component( self, name: impl Into<String>, schema: OpenApiSchema, ) -> Self
pub fn with_response_component( self, name: impl Into<String>, response: OpenApiResponse, ) -> Self
pub fn with_parameter_component( self, name: impl Into<String>, parameter: OpenApiParameter, ) -> Self
pub fn with_example_component( self, name: impl Into<String>, example: OpenApiExample, ) -> Self
pub fn try_with_example_component<T>(
self,
name: impl Into<String>,
value: T,
) -> Result<Self>where
T: Serialize,
pub fn with_request_body_component( self, name: impl Into<String>, request_body: OpenApiRequestBody, ) -> Self
pub fn with_header_component( self, name: impl Into<String>, header: OpenApiHeader, ) -> Self
Source§impl RouteDefinition
impl RouteDefinition
pub fn with_pipe<P>(self, pipe: P) -> Selfwhere
P: Pipe,
pub fn with_middleware<M>(self, middleware: M) -> Selfwhere
M: Middleware,
pub fn with_guard<G>(self, guard: G) -> Selfwhere
G: Guard,
pub fn with_interceptor<I>(self, interceptor: I) -> Selfwhere
I: Interceptor,
pub fn with_execution_interceptor<I>(self, interceptor: I) -> Selfwhere
I: ExecutionInterceptor,
pub fn with_filter<F>(self, filter: F) -> Selfwhere
F: ExceptionFilter,
pub fn with_catch_filter<I, F>(self, kinds: I, filter: F) -> Self
pub fn with_validation(self) -> Self
pub fn with_validation_options(self, options: ValidationOptions) -> Self
pub fn without_validation(self) -> Self
pub fn with_body_validation<T>(self) -> Selfwhere
T: DeserializeOwned + Validate + 'static,
pub fn with_body_validation_options<T>(self, options: ValidationOptions) -> Self
pub fn with_params_validation<T>(self) -> Selfwhere
T: DeserializeOwned + Validate + 'static,
pub fn with_params_validation_options<T>( self, options: ValidationOptions, ) -> Self
pub fn with_query_validation<T>(self) -> Selfwhere
T: DeserializeOwned + Validate + 'static,
pub fn with_query_validation_options<T>( self, options: ValidationOptions, ) -> Self
Source§impl RouteDefinition
impl RouteDefinition
pub fn with_response_header( self, name: impl Into<String>, value: impl Into<String>, ) -> Self
pub fn with_redirect(self, location: impl Into<String>) -> Self
pub fn with_redirect_status( self, status: u16, location: impl Into<String>, ) -> Self
Trait Implementations§
Source§impl Clone for RouteDefinition
impl Clone for RouteDefinition
Source§fn clone(&self) -> RouteDefinition
fn clone(&self) -> RouteDefinition
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 RouteDefinition
impl !UnwindSafe for RouteDefinition
impl Freeze for RouteDefinition
impl Send for RouteDefinition
impl Sync for RouteDefinition
impl Unpin for RouteDefinition
impl UnsafeUnpin for RouteDefinition
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