ignore HKP option query param

This commit is contained in:
seu 2018-11-02 11:55:07 +01:00
parent 33e46bffe4
commit 8957b6fdc7
1 changed files with 4 additions and 8 deletions

View File

@ -67,16 +67,12 @@ impl<'a, 'r> FromRequest<'a, 'r> for queries::Hkp {
(key, value)
}).collect::<HashMap<_,_>>();
if fields.len() == 2 && fields.get("op").map(|x| x == "get").unwrap_or(false) {
if fields.len() >= 2 && fields.get("op").map(|x| x == "get").unwrap_or(false) {
let search = fields.get("search").cloned().unwrap_or_default();
let maybe_fpr = Fingerprint::from_str(&search);
if search.len() == 16 + 2 && search.starts_with("0x") {
let maybe_fpr = Fingerprint::from_str(&search[2..]);
match maybe_fpr {
Ok(fpr) => Outcome::Success(queries::Hkp::Fingerprint(fpr)),
Err(_) => Outcome::Failure((Status::BadRequest, ())),
}
if let Ok(fpr) = maybe_fpr {
Outcome::Success(queries::Hkp::Fingerprint(fpr))
} else {
match Email::from_str(&search) {
Ok(email) => Outcome::Success(queries::Hkp::Email(email)),