From b6c62309f236410a2dabdcf254473be99d7e60a7 Mon Sep 17 00:00:00 2001 From: Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com> Date: Sat, 26 Jun 2021 16:21:40 +0200 Subject: separate public key handler (#64) --- internal/util/uri.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'internal/util/uri.go') diff --git a/internal/util/uri.go b/internal/util/uri.go index 7d4892960..2bfdd6c40 100644 --- a/internal/util/uri.go +++ b/internal/util/uri.go @@ -140,7 +140,7 @@ func GenerateURIsForAccount(username string, protocol string, host string) *User followingURI := fmt.Sprintf("%s/%s", userURI, FollowingPath) likedURI := fmt.Sprintf("%s/%s", userURI, LikedPath) collectionURI := fmt.Sprintf("%s/%s/%s", userURI, CollectionsPath, FeaturedPath) - publicKeyURI := fmt.Sprintf("%s#%s", userURI, PublicKeyPath) + publicKeyURI := fmt.Sprintf("%s/%s", userURI, PublicKeyPath) return &UserURIs{ HostURL: hostURL, @@ -209,6 +209,11 @@ func IsStatusesPath(id *url.URL) bool { return statusesPathRegex.MatchString(id.Path) } +// IsPublicKeyPath returns true if the given URL path corresponds to eg /users/example_username/main-key +func IsPublicKeyPath(id *url.URL) bool { + return userPublicKeyPathRegex.MatchString(id.Path) +} + // ParseStatusesPath returns the username and ulid from a path such as /users/example_username/statuses/SOME_ULID_OF_A_STATUS func ParseStatusesPath(id *url.URL) (username string, ulid string, err error) { matches := statusesPathRegex.FindStringSubmatch(id.Path) -- cgit v1.2.3