allow non-'static HTTP method names
Background: RTSP uses HTTP digest authentication (see RFC 2326 section 1.4). I'm using the rtsp-types crate. It works fine with digest_auth, except that [rtsp_types::Method::Extension](https://docs.rs/rtsp-types/0.0.1/rtsp_types/enum.Method.html#variant.Extension) has a non-static lifetime.
This commit is contained in:
+2
-2
@@ -161,7 +161,7 @@ pub struct AuthContext<'a> {
|
||||
/// May be left out if not using auth-int
|
||||
pub body: Option<Cow<'a, [u8]>>,
|
||||
/// HTTP method used (defaults to GET)
|
||||
pub method: HttpMethod,
|
||||
pub method: HttpMethod<'a>,
|
||||
/// Spoofed client nonce (use only for tests; a random nonce is generated automatically)
|
||||
pub cnonce: Option<Cow<'a, str>>,
|
||||
}
|
||||
@@ -202,7 +202,7 @@ impl<'a> AuthContext<'a> {
|
||||
password: PW,
|
||||
uri: UR,
|
||||
body: Option<BD>,
|
||||
method: HttpMethod,
|
||||
method: HttpMethod<'a>,
|
||||
) -> Self
|
||||
where
|
||||
UN: Into<Cow<'a, str>>,
|
||||
|
||||
+4
-4
@@ -168,20 +168,20 @@ impl Display for Charset {
|
||||
|
||||
/// HTTP method (used when generating the response hash for some Qop options)
|
||||
#[derive(Debug)]
|
||||
pub enum HttpMethod {
|
||||
pub enum HttpMethod<'a> {
|
||||
GET,
|
||||
POST,
|
||||
HEAD,
|
||||
OTHER(&'static str),
|
||||
OTHER(&'a str),
|
||||
}
|
||||
|
||||
impl Default for HttpMethod {
|
||||
impl<'a> Default for HttpMethod<'a> {
|
||||
fn default() -> Self {
|
||||
HttpMethod::GET
|
||||
}
|
||||
}
|
||||
|
||||
impl Display for HttpMethod {
|
||||
impl<'a> Display for HttpMethod<'a> {
|
||||
/// Convert to uppercase string
|
||||
fn fmt(&self, f: &mut Formatter) -> fmt::Result {
|
||||
f.write_str(match self {
|
||||
|
||||
Reference in New Issue
Block a user