1
0
Fork 0
mirror of https://github.com/Nutomic/ibis.git synced 2025-01-05 21:01:23 +00:00

Support standard activitypub accept header (fixes #100)

This commit is contained in:
Felix Ableitner 2024-12-20 23:42:45 +01:00
parent 15c56b7f44
commit 7f12663a94

View file

@ -225,9 +225,16 @@ async fn federation_routes_middleware(request: Request<Body>, next: Next) -> Res
let (mut parts, body) = request.into_parts(); let (mut parts, body) = request.into_parts();
// rewrite uri based on accept header // rewrite uri based on accept header
let mut uri = parts.uri.to_string(); let mut uri = parts.uri.to_string();
let accept_value = HeaderValue::from_static("application/activity+json"); const VALUE1: HeaderValue = HeaderValue::from_static("application/activity+json");
if Some(&accept_value) == parts.headers.get("Accept") const VALUE2: HeaderValue = HeaderValue::from_static(
|| Some(&accept_value) == parts.headers.get("Content-Type") r#"application/ld+json; profile="https://www.w3.org/ns/activitystreams""#,
);
let accept = parts.headers.get("Accept");
let content_type = parts.headers.get("Content-Type");
if Some(&VALUE1) == accept
|| Some(&VALUE2) == accept
|| Some(&VALUE1) == content_type
|| Some(&VALUE2) == content_type
{ {
uri = format!("{FEDERATION_ROUTES_PREFIX}{uri}"); uri = format!("{FEDERATION_ROUTES_PREFIX}{uri}");
} }