From b102a6a497c93563dc0933491c67cf1e58cb0acd Mon Sep 17 00:00:00 2001 From: Sergio Benitez Date: Wed, 29 Mar 2017 04:21:18 -0700 Subject: [PATCH] Implement FromRequest for Accept. --- lib/src/request/from_request.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/src/request/from_request.rs b/lib/src/request/from_request.rs index 9ce5d925..9d4b416b 100644 --- a/lib/src/request/from_request.rs +++ b/lib/src/request/from_request.rs @@ -5,7 +5,7 @@ use outcome::{self, IntoOutcome}; use request::Request; use outcome::Outcome::*; -use http::{Status, ContentType, Method, Cookies, Session}; +use http::{Status, ContentType, Accept, Method, Cookies, Session}; use http::uri::URI; /// Type alias for the `Outcome` of a `FromRequest` conversion. @@ -220,6 +220,17 @@ impl<'a, 'r> FromRequest<'a, 'r> for Session<'a> { } } +impl<'a, 'r> FromRequest<'a, 'r> for Accept { + type Error = (); + + fn from_request(request: &'a Request<'r>) -> Outcome { + match request.accept() { + Some(accept) => Success(accept), + None => Forward(()) + } + } +} + impl<'a, 'r> FromRequest<'a, 'r> for ContentType { type Error = ();