diff --git a/khatru/grasp/helpers.go b/khatru/grasp/helpers.go index 5aa69f7..64ace45 100644 --- a/khatru/grasp/helpers.go +++ b/khatru/grasp/helpers.go @@ -148,8 +148,8 @@ func (gs *GraspServer) getRepositoryPath(pubkey nostr.PubKey, repoName string) s } // repoExists checks if a repository has an announcement event (kind 30617) -func (gs *GraspServer) repoExists(pubkey nostr.PubKey, repoName string) bool { - for range gs.Relay.QueryStored(context.Background(), nostr.Filter{ +func (gs *GraspServer) repoExists(ctx context.Context, pubkey nostr.PubKey, repoName string) bool { + for range gs.Relay.QueryStored(ctx, nostr.Filter{ Kinds: []nostr.Kind{nostr.KindRepositoryAnnouncement}, Authors: []nostr.PubKey{pubkey}, Tags: nostr.TagMap{"d": []string{repoName}}, diff --git a/khatru/grasp/info.go b/khatru/grasp/info.go index a708e3a..ff73711 100644 --- a/khatru/grasp/info.go +++ b/khatru/grasp/info.go @@ -19,7 +19,7 @@ func (gs *GraspServer) handleInfoRefs( pubkey nostr.PubKey, repoName string, ) { - if !gs.repoExists(pubkey, repoName) { + if !gs.repoExists(r.Context(), pubkey, repoName) { w.Header().Set("content-type", "text/plain; charset=UTF-8") w.WriteHeader(404) fmt.Fprintf(w, "repository announcement event not found during info-refs\n") diff --git a/khatru/grasp/read.go b/khatru/grasp/read.go index 366197b..78014d2 100644 --- a/khatru/grasp/read.go +++ b/khatru/grasp/read.go @@ -21,7 +21,7 @@ func (gs *GraspServer) handleGitUploadPack( repoPath := gs.getRepositoryPath(pubkey, repoName) // for upload-pack (pull), check if repository exists - if !gs.repoExists(pubkey, repoName) { + if !gs.repoExists(r.Context(), pubkey, repoName) { w.Header().Set("content-type", "text/plain; charset=UTF-8") w.WriteHeader(404) fmt.Fprintf(w, "repository announcement event not found during upload-pack\n") diff --git a/khatru/grasp/server.go b/khatru/grasp/server.go index d125373..7ddc404 100644 --- a/khatru/grasp/server.go +++ b/khatru/grasp/server.go @@ -53,7 +53,7 @@ func New(rl *khatru.Relay, repositoryDir string) *GraspServer { mux.HandleFunc("GET /{npub}/{repo}", func(w http.ResponseWriter, r *http.Request) { gs.handleGitRequest(w, r, base, func(w http.ResponseWriter, r *http.Request, pubkey nostr.PubKey, repoName string) { if r.URL.RawQuery == "" { - if gs.repoExists(pubkey, repoName) { + if gs.repoExists(r.Context(), pubkey, repoName) { gs.serveRepoPage(w, r, r.PathValue("npub"), repoName) } else { http.NotFound(w, r)