pub struct AuthContext<'a> {
pub username: Cow<'a, str>,
pub password: Cow<'a, str>,
pub uri: Cow<'a, str>,
pub body: Option<Cow<'a, [u8]>>,
pub method: HttpMethod<'a>,
pub cnonce: Option<Cow<'a, str>>,
}
Expand description
Login attempt context
All fields are borrowed to reduce runtime overhead; this struct should not be stored anywhere, it is normally meaningful only for the one request.
Fields§
§username: Cow<'a, str>
Login username
password: Cow<'a, str>
Login password (plain)
uri: Cow<'a, str>
Requested URI (not a domain! should start with a slash)
body: Option<Cow<'a, [u8]>>
Request payload body - used for auth-int (auth with integrity check) May be left out if not using auth-int
method: HttpMethod<'a>
HTTP method used (defaults to GET)
cnonce: Option<Cow<'a, str>>
Spoofed client nonce (use only for tests; a random nonce is generated automatically)
Implementations§
Source§impl<'a> AuthContext<'a>
impl<'a> AuthContext<'a>
Sourcepub fn new<UN, PW, UR>(username: UN, password: PW, uri: UR) -> Self
pub fn new<UN, PW, UR>(username: UN, password: PW, uri: UR) -> Self
Construct a new context with the GET verb and no payload body. See the other constructors if this does not fit your situation.
Sourcepub fn new_post<UN, PW, UR, BD>(
username: UN,
password: PW,
uri: UR,
body: Option<BD>,
) -> Self
pub fn new_post<UN, PW, UR, BD>( username: UN, password: PW, uri: UR, body: Option<BD>, ) -> Self
Construct a new context with the POST verb and a payload body (may be None). See the other constructors if this does not fit your situation.
Sourcepub fn new_with_method<UN, PW, UR, BD>(
username: UN,
password: PW,
uri: UR,
body: Option<BD>,
method: HttpMethod<'a>,
) -> Self
pub fn new_with_method<UN, PW, UR, BD>( username: UN, password: PW, uri: UR, body: Option<BD>, method: HttpMethod<'a>, ) -> Self
Construct a new context with arbitrary verb and, optionally, a payload body
Sourcepub fn set_custom_cnonce<CN>(&mut self, cnonce: CN)
pub fn set_custom_cnonce<CN>(&mut self, cnonce: CN)
Set cnonce to the given value
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for AuthContext<'a>
impl<'a> RefUnwindSafe for AuthContext<'a>
impl<'a> Send for AuthContext<'a>
impl<'a> Sync for AuthContext<'a>
impl<'a> Unpin for AuthContext<'a>
impl<'a> UnwindSafe for AuthContext<'a>
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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 144 bytes