use .Find() instead of .GetFirst() everywhere.

This commit is contained in:
fiatjaf
2025-04-04 23:07:18 -03:00
parent d97a2f1cf2
commit fbb40f3b74
4 changed files with 13 additions and 13 deletions

View File

@@ -25,7 +25,7 @@ func (bs BlossomServer) handleUploadCheck(w http.ResponseWriter, r *http.Request
blossomError(w, "missing \"Authorization\" header", 401) blossomError(w, "missing \"Authorization\" header", 401)
return return
} }
if auth.Tags.GetFirst([]string{"t", "upload"}) == nil { if auth.Tags.FindWithValue("t", "upload") == nil {
blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403) blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403)
return return
} }
@@ -59,7 +59,7 @@ func (bs BlossomServer) handleUpload(w http.ResponseWriter, r *http.Request) {
blossomError(w, "missing \"Authorization\" header", 401) blossomError(w, "missing \"Authorization\" header", 401)
return return
} }
if auth.Tags.GetFirst([]string{"t", "upload"}) == nil { if auth.Tags.FindWithValue("t", "upload") == nil {
blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403) blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403)
return return
} }
@@ -163,13 +163,13 @@ func (bs BlossomServer) handleGetBlob(w http.ResponseWriter, r *http.Request) {
// if there is one, we check if it has the extra requirements // if there is one, we check if it has the extra requirements
if auth != nil { if auth != nil {
if auth.Tags.GetFirst([]string{"t", "get"}) == nil { if auth.Tags.FindWithValue("t", "get") == nil {
blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403) blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403)
return return
} }
if auth.Tags.GetFirst([]string{"x", hhash}) == nil && if auth.Tags.FindWithValue("x", hhash) == nil &&
auth.Tags.GetFirst([]string{"server", bs.ServiceURL}) == nil { auth.Tags.FindWithValue("server", bs.ServiceURL) == nil {
blossomError(w, "invalid \"Authorization\" event \"x\" or \"server\" tag", 403) blossomError(w, "invalid \"Authorization\" event \"x\" or \"server\" tag", 403)
return return
} }
@@ -239,7 +239,7 @@ func (bs BlossomServer) handleList(w http.ResponseWriter, r *http.Request) {
// if there is one, we check if it has the extra requirements // if there is one, we check if it has the extra requirements
if auth != nil { if auth != nil {
if auth.Tags.GetFirst([]string{"t", "list"}) == nil { if auth.Tags.FindWithValue("t", "list") == nil {
blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403) blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403)
return return
} }
@@ -283,7 +283,7 @@ func (bs BlossomServer) handleDelete(w http.ResponseWriter, r *http.Request) {
} }
if auth != nil { if auth != nil {
if auth.Tags.GetFirst([]string{"t", "delete"}) == nil { if auth.Tags.FindWithValue("t", "delete") == nil {
blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403) blossomError(w, "invalid \"Authorization\" event \"t\" tag", 403)
return return
} }
@@ -296,8 +296,8 @@ func (bs BlossomServer) handleDelete(w http.ResponseWriter, r *http.Request) {
return return
} }
hhash = hhash[1:] hhash = hhash[1:]
if auth.Tags.GetFirst([]string{"x", hhash}) == nil && if auth.Tags.FindWithValue("x", hhash) == nil &&
auth.Tags.GetFirst([]string{"server", bs.ServiceURL}) == nil { auth.Tags.FindWithValue("server", bs.ServiceURL) == nil {
blossomError(w, "invalid \"Authorization\" event \"x\" or \"server\" tag", 403) blossomError(w, "invalid \"Authorization\" event \"x\" or \"server\" tag", 403)
return return
} }

View File

@@ -47,7 +47,7 @@ router.Route().
return true return true
case event.Kind <= 12 && event.Kind >= 9: case event.Kind <= 12 && event.Kind >= 9:
return true return true
case event.Tags.GetFirst([]string{"h", ""}) != nil: case event.Tags.Find("h") != nil:
return true return true
default: default:
return false return false

View File

@@ -52,7 +52,7 @@ func main() {
return slices.Contains(filter.Kinds, 1) && slices.Contains(filter.Tags["t"], "spam") return slices.Contains(filter.Kinds, 1) && slices.Contains(filter.Tags["t"], "spam")
}). }).
Event(func(event *nostr.Event) bool { Event(func(event *nostr.Event) bool {
return event.Kind == 1 && event.Tags.GetFirst([]string{"t", "spam"}) != nil return event.Kind == 1 && event.Tags.FindWithValue("t", "spam") != nil
}). }).
Relay(r2) Relay(r2)

View File

@@ -86,10 +86,10 @@ func (rl *Relay) HandleNIP86(w http.ResponseWriter, r *http.Request) {
goto respond goto respond
} }
if uTag := evt.Tags.GetFirst([]string{"u", ""}); uTag == nil || rl.getBaseURL(r) != (*uTag)[1] { if uTag := evt.Tags.Find("u"); uTag == nil || rl.getBaseURL(r) != uTag[1] {
resp.Error = "invalid 'u' tag" resp.Error = "invalid 'u' tag"
goto respond goto respond
} else if pht := evt.Tags.GetFirst([]string{"payload", hex.EncodeToString(payloadHash[:])}); pht == nil { } else if pht := evt.Tags.FindWithValue("payload", hex.EncodeToString(payloadHash[:])); pht == nil {
resp.Error = "invalid auth event payload hash" resp.Error = "invalid auth event payload hash"
goto respond goto respond
} else if evt.CreatedAt < nostr.Now()-30 { } else if evt.CreatedAt < nostr.Now()-30 {