aboutsummaryrefslogtreecommitdiff
path: root/util
diff options
context:
space:
mode:
authorFChannel <>2022-04-24 00:46:49 -0700
committerFChannel <>2022-06-19 12:53:29 -0700
commit3db517715bef6a53225c5c3c06e8fc5fd0bf71e3 (patch)
tree9aa7fbcb12f2ec8d0e4e66cd85ace058e38dd32d /util
parent9718d34a757b66917747c1c4acfb9b35d154625b (diff)
basic pass over view posts, post, catalog and manage page connections
Diffstat (limited to 'util')
-rw-r--r--util/accept.go21
-rw-r--r--util/util.go2
2 files changed, 22 insertions, 1 deletions
diff --git a/util/accept.go b/util/accept.go
new file mode 100644
index 0000000..2765c32
--- /dev/null
+++ b/util/accept.go
@@ -0,0 +1,21 @@
+package util
+
+import (
+ "regexp"
+ "strings"
+)
+
+// False positive for application/ld+ld, application/activity+ld, application/json+json
+var activityRegexp = regexp.MustCompile("application\\/(ld|json|activity)((\\+(ld|json))|$)")
+
+func AcceptActivity(header string) bool {
+ accept := false
+ if strings.Contains(header, ";") {
+ split := strings.Split(header, ";")
+ accept = accept || activityRegexp.MatchString(split[0])
+ accept = accept || strings.Contains(split[len(split)-1], "profile=\"https://www.w3.org/ns/activitystreams\"")
+ } else {
+ accept = accept || activityRegexp.MatchString(header)
+ }
+ return accept
+}
diff --git a/util/util.go b/util/util.go
index a56e871..1feb53a 100644
--- a/util/util.go
+++ b/util/util.go
@@ -29,7 +29,7 @@ func GetActorInstance(path string) (string, string) {
}
}
- re = regexp.MustCompile(`(https?://)(www)?([\w\d-_.:]+)(/|\s+|\r|\r\n)?$`)
+ re = regexp.MustCompile(`(https?://)?(www)?([\w\d-_.:]+)(/|\s+|\r|\r\n)?$`)
mainActor := re.MatchString(path)
if mainActor {
match := re.FindStringSubmatch(path)