Use dereferencing for request parameters

This commit is contained in:
Jordan Johnson-Doyle 2019-02-13 21:52:17 +00:00
parent 4fde268117
commit 707b5b16e7
No known key found for this signature in database
GPG key ID: A95F87B578CE79B6
2 changed files with 20 additions and 2 deletions

View file

@ -1,3 +1,5 @@
use std::ops::Deref;
use rocket::Request;
use rocket::request::{FromRequest, Outcome};
@ -7,6 +9,14 @@ use rocket::request::{FromRequest, Outcome};
/// and also anything calling us from the console or that we can't identify.
pub struct IsPlaintextRequest(pub bool);
impl Deref for IsPlaintextRequest {
type Target = bool;
fn deref(&self) -> &bool {
&self.0
}
}
impl<'a, 'r> FromRequest<'a, 'r> for IsPlaintextRequest {
type Error = ();
@ -30,6 +40,14 @@ impl<'a, 'r> FromRequest<'a, 'r> for IsPlaintextRequest {
/// on the request.
pub struct HostHeader<'a>(pub Option<&'a str>);
impl<'a> Deref for HostHeader<'a> {
type Target = Option<&'a str>;
fn deref(&self) -> &Option<&'a str> {
&self.0
}
}
impl<'a, 'r> FromRequest<'a, 'r> for HostHeader<'a> {
type Error = ();