diff options
| author | Teddy Wing | 2020-06-27 20:05:53 +0200 | 
|---|---|---|
| committer | Teddy Wing | 2020-06-27 20:05:53 +0200 | 
| commit | a078391aad95978f11488040bb794f2b7622311f (patch) | |
| tree | 0b5c1f688c77abc8ffcfdbe1199698d4283c6b26 | |
| parent | 13cc04731d01ce216b274f53c920f9e19d15e25e (diff) | |
| download | fastcgi-conduit-a078391aad95978f11488040bb794f2b7622311f.tar.bz2 | |
FastCgiRequest: Add `conduit::Version`
| -rw-r--r-- | src/lib.rs | 13 | 
1 files changed, 13 insertions, 0 deletions
| @@ -29,6 +29,7 @@ pub type RequestResult<T, E = RequestError> = std::result::Result<T, E>;  struct FastCgiRequest<'a> {      request: &'a fastcgi::Request, +    http_version: conduit::Version,      method: conduit::Method,      headers: conduit::HeaderMap,  } @@ -42,6 +43,7 @@ impl<'a> FastCgiRequest<'a> {          let r = Self {              request: request, +            http_version: Self::version(&request),              method: method,              headers: headers,          }; @@ -49,6 +51,17 @@ impl<'a> FastCgiRequest<'a> {          Ok(r)      } +    fn version(request: &'a fastcgi::Request) -> conduit::Version { +        match request.param("SERVER_PROTOCOL").unwrap_or_default().as_str() { +            "HTTP/0.9" => conduit::Version::HTTP_09, +            "HTTP/1.0" => conduit::Version::HTTP_10, +            "HTTP/1.1" => conduit::Version::HTTP_11, +            "HTTP/2.0" => conduit::Version::HTTP_2, +            "HTTP/3.0" => conduit::Version::HTTP_3, +            _ => conduit::Version::default(), +        } +    } +      fn method(          request: &'a fastcgi::Request      ) -> Result<conduit::Method, http::method::InvalidMethod> { | 
