Skip to content

Commit 3325bcb

Browse files
committed
Use safe_url with trailing slash in urljoin
Signed-off-by: Keshav Priyadarshi <git@keshav.space>
1 parent 1018fe7 commit 3325bcb

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

fedcode/models.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ class RemoteActor(models.Model):
5050
help_text="A field to track when remote actor are updated",
5151
)
5252

53+
@property
54+
def safe_url(self):
55+
return f"{self.url.rstrip('/')}/"
56+
5357

5458
class Actor(models.Model):
5559
"""
@@ -438,13 +442,13 @@ def absolute_url_ap(self):
438442
@property
439443
def inbox_url(self):
440444
if not self.local:
441-
return urljoin(self.remote_actor.url, "inbox")
445+
return urljoin(self.remote_actor.safe_url, "inbox")
442446
return full_reverse("user-inbox", self.user.username)
443447

444448
@property
445449
def outbox_url(self):
446450
if not self.local:
447-
return urljoin(self.remote_actor.url, "outbox")
451+
return urljoin(self.remote_actor.safe_url, "outbox")
448452
return full_reverse("user-outbox", self.user.username)
449453

450454
@property
@@ -456,7 +460,7 @@ def key_id(self):
456460
if self.user:
457461
return full_reverse("user-ap-profile", self.user.username) + "#main-key"
458462
else:
459-
return self.remote_actor.url + "#main-key"
463+
return self.remote_actor.safe_url + "#main-key"
460464

461465
@property
462466
def to_ap(self):

0 commit comments

Comments
 (0)