[backend/federation] Fix redirect handling in ActivityFetcherService

This commit is contained in:
Laura Hausmann 2024-04-06 21:27:55 +02:00
parent e28dc78e96
commit 969efe6d73
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -51,10 +51,12 @@ public class ActivityFetcherService(
if (activityUri.ToString() == finalUri.ToString())
return [activity];
if (new Uri(activity.Id).Host != finalUri.Host)
var activityIdUri = new Uri(activity.Id);
if (activityIdUri.Host != finalUri.Host)
throw GracefulException.UnprocessableEntity("Activity identifier doesn't match final host");
(activity, finalUri) = await FetchActivityInternal(url, actor, keypair);
(activity, finalUri) = await FetchActivityInternal(activityIdUri.AbsoluteUri, actor, keypair);
if (activity == null) return [];
activityUri = new Uri(activity.Id);