Trait gotham_restful::Endpoint
source · pub trait Endpoint {
type Output: IntoResponse + Send;
type Placeholders: PathExtractor<Body> + Clone + Sync;
type Params: QueryStringExtractor<Body> + Clone + Sync;
type Body: RequestBody + Send;
// Required methods
fn http_method() -> Method;
fn uri() -> Cow<'static, str>;
fn handle(
state: &mut State,
placeholders: Self::Placeholders,
params: Self::Params,
body: Option<Self::Body>
) -> BoxFuture<'_, Self::Output>;
// Provided methods
fn has_placeholders() -> bool { ... }
fn needs_params() -> bool { ... }
fn needs_body() -> bool { ... }
fn wants_auth() -> bool { ... }
}
Required Associated Types§
sourcetype Output: IntoResponse + Send
type Output: IntoResponse + Send
The output type that provides the response.
sourcetype Placeholders: PathExtractor<Body> + Clone + Sync
type Placeholders: PathExtractor<Body> + Clone + Sync
The type that parses the URI placeholders. Use NoopExtractor if has_placeholders()
returns false
.
sourcetype Params: QueryStringExtractor<Body> + Clone + Sync
type Params: QueryStringExtractor<Body> + Clone + Sync
The type that parses the request parameters. Use NoopExtractor if needs_params()
returns false
.
sourcetype Body: RequestBody + Send
type Body: RequestBody + Send
The type to parse the body into. Use ()
if needs_body()
returns false
.
Required Methods§
sourcefn http_method() -> Method
fn http_method() -> Method
The HTTP Verb of this endpoint.
Provided Methods§
sourcefn has_placeholders() -> bool
fn has_placeholders() -> bool
Returns true
iff the URI contains placeholders. false
by default.
sourcefn needs_params() -> bool
fn needs_params() -> bool
Returns true
iff the request parameters should be parsed. false
by default.
sourcefn needs_body() -> bool
fn needs_body() -> bool
Returns true
iff the request body should be parsed. false
by default.
sourcefn wants_auth() -> bool
fn wants_auth() -> bool
Returns true
if the request wants to know the auth status of the client. false
by default.