mirror of https://github.com/LemmyNet/lemmy.git
Prevent panic on InboxRequestGuard
parent
f6c13cf313
commit
1943bcd7f5
|
@ -1,8 +1,11 @@
|
|||
use crate::http::{
|
||||
comment::get_apub_comment,
|
||||
community::{
|
||||
community_inbox, get_apub_community_followers, get_apub_community_http,
|
||||
get_apub_community_moderators, get_apub_community_outbox,
|
||||
community_inbox,
|
||||
get_apub_community_followers,
|
||||
get_apub_community_http,
|
||||
get_apub_community_moderators,
|
||||
get_apub_community_outbox,
|
||||
},
|
||||
get_activity,
|
||||
person::{get_apub_person_http, get_apub_person_outbox, person_inbox},
|
||||
|
@ -11,7 +14,7 @@ use crate::http::{
|
|||
};
|
||||
use actix_web::{
|
||||
guard::{Guard, GuardContext},
|
||||
http::Method,
|
||||
http::{header, Method},
|
||||
web,
|
||||
};
|
||||
use http_signature_normalization_actix::digest::middleware::VerifyDigest;
|
||||
|
@ -65,15 +68,12 @@ pub fn config(cfg: &mut web::ServiceConfig, settings: &Settings) {
|
|||
struct InboxRequestGuard;
|
||||
|
||||
impl Guard for InboxRequestGuard {
|
||||
fn check(&self, request: &GuardContext) -> bool {
|
||||
if request.head().method != Method::POST {
|
||||
fn check(&self, ctx: &GuardContext) -> bool {
|
||||
if ctx.head().method != Method::POST {
|
||||
return false;
|
||||
}
|
||||
if let Some(val) = request.head().headers.get("Content-Type") {
|
||||
return val
|
||||
.to_str()
|
||||
.expect("Content-Type header contains non-ascii chars.")
|
||||
.starts_with("application/");
|
||||
if let Some(val) = ctx.head().headers.get(header::CONTENT_TYPE) {
|
||||
return val.as_bytes().starts_with(b"application/");
|
||||
}
|
||||
false
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue