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
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 = ();