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},
};
use actix_web::{
guard::{Guard, GuardContext},
- http::Method,
+ http::{header, Method},
web,
};
use http_signature_normalization_actix::digest::middleware::VerifyDigest;
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
}