pub struct VersionHeader { /* private fields */ }Expand description
Read the API version from a header.
ⓘ
App::new()?.middleware(
VersionHeader::new("X-API-Version")
.default("2")
.allow(["1", "2"]),
)A vendor media type in Accept — application/vnd.example.v2+json — is
read as well when VersionHeader::from_accept names the vendor prefix.
A request naming a version that is not allowed is a 400 that lists what
is, rather than a silent fall-through to the default: a client that asked
for v3 and got v1’s shape would be worse off than one that got an error.
Implementations§
Source§impl VersionHeader
impl VersionHeader
pub fn new(header: &str) -> Self
Sourcepub fn default(self, version: &str) -> Self
pub fn default(self, version: &str) -> Self
The version to assume when the client names none.
Stripe pins this per account; most APIs pin it to the oldest still supported, so a client written against it keeps working unchanged.
Sourcepub fn from_accept(self, vendor: &str) -> Self
pub fn from_accept(self, vendor: &str) -> Self
Also accept Accept: application/vnd.{vendor}.v{N}+json.
Trait Implementations§
Source§impl Clone for VersionHeader
impl Clone for VersionHeader
Source§fn clone(&self) -> VersionHeader
fn clone(&self) -> VersionHeader
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 moreSource§impl Debug for VersionHeader
impl Debug for VersionHeader
Auto Trait Implementations§
impl Freeze for VersionHeader
impl RefUnwindSafe for VersionHeader
impl Send for VersionHeader
impl Sync for VersionHeader
impl Unpin for VersionHeader
impl UnsafeUnpin for VersionHeader
impl UnwindSafe for VersionHeader
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