pub struct MethodGuard { /* private fields */ }
Expand description
Used by Blueprint::route
to specify which HTTP methods the route should match.
If you want to match a single HTTP method, use the dedicated constants in this
module (GET
, POST
, PATCH
, DELETE
, etc.).
If you want to match a list of HTTP methods, use either MethodGuard::or
or
MethodGuard::from_iter
.
If you want to match all well-known HTTP methods, use ANY
.
If you want to match any HTTP method, including custom ones, use ANY_WITH_EXTENSIONS
.
Implementations§
Source§impl MethodGuard
impl MethodGuard
Sourcepub fn or(self, other: MethodGuard) -> Self
pub fn or(self, other: MethodGuard) -> Self
Combine this MethodGuard
with another one, returning a new MethodGuard
.
The returned MethodGuard
will match requests that match either of the two
MethodGuard
s.
use pavex::blueprint::router::{GET, POST};
// Match requests that use either the `GET` or the `POST` HTTP method.
let guard = GET.or(POST);
Sourcepub fn allows(&self, method: &Method) -> bool
pub fn allows(&self, method: &Method) -> bool
Returns true
if the given HTTP method is allowed by this MethodGuard
.
Sourcepub fn allowed_methods(&self) -> AllowedMethods
pub fn allowed_methods(&self) -> AllowedMethods
Return the methods allowed by this MethodGuard
.
Trait Implementations§
Source§impl Clone for MethodGuard
impl Clone for MethodGuard
Source§fn clone(&self) -> MethodGuard
fn clone(&self) -> MethodGuard
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for MethodGuard
impl Debug for MethodGuard
Source§impl<'de> Deserialize<'de> for MethodGuard
impl<'de> Deserialize<'de> for MethodGuard
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<Method> for MethodGuard
impl From<Method> for MethodGuard
Source§impl FromIterator<Method> for MethodGuard
impl FromIterator<Method> for MethodGuard
Source§fn from_iter<I: IntoIterator<Item = Method>>(allowed_methods: I) -> Self
fn from_iter<I: IntoIterator<Item = Method>>(allowed_methods: I) -> Self
Build a new MethodGuard
that matches incoming requests using the given HTTP methods.
use pavex::blueprint::router::{MethodGuard, GET, POST};
use pavex::http::Method;
// Using an array of methods known at compile-time..
let guard = MethodGuard::from_iter([Method::GET, Method::POST]);
// ..or a dynamic vector, built at runtime.
let guard = MethodGuard::from_iter(vec![Method::GET, Method::PUT]);
// As an alternative, you can use the `or` method to combine two or more `MethodGuard`s.
// It's usually shorter and more readable.
let guard = GET.or(POST);
If you want to match any HTTP method, use ANY
.
If you want to match a single HTTP method, use the dedicated constants in this
module (GET
, POST
, PATCH
, DELETE
, etc.).
Auto Trait Implementations§
impl Freeze for MethodGuard
impl RefUnwindSafe for MethodGuard
impl Send for MethodGuard
impl Sync for MethodGuard
impl Unpin for MethodGuard
impl UnwindSafe for MethodGuard
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling [Attribute
] value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
[Quirk
] value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the [Condition
] value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);