about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAlan Pearce2025-03-21 22:18:15 +0100
committerAlan Pearce2025-03-21 22:18:15 +0100
commitd4ec6e5beecd549114dafd0b7c3b4a9d910388fb (patch)
tree12d40460c6534c7836d6d432065655c07e95b9e2
parent9c9aa6b408812248c9f8c29ecc3546ef64947ea8 (diff)
downloadsearchix-d4ec6e5beecd549114dafd0b7c3b4a9d910388fb.tar.lz
searchix-d4ec6e5beecd549114dafd0b7c3b4a9d910388fb.tar.zst
searchix-d4ec6e5beecd549114dafd0b7c3b4a9d910388fb.zip
fix: remove rendering from search timeout restriction
-rw-r--r--internal/server/mux.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/internal/server/mux.go b/internal/server/mux.go
index f7a82d8..6decc24 100644
--- a/internal/server/mux.go
+++ b/internal/server/mux.go
@@ -93,9 +93,6 @@ func NewMux(
 				}
 			}
 
-			ctx, cancel := context.WithTimeout(r.Context(), searchTimeout)
-			defer cancel()
-
 			if r.URL.Query().Has("query") {
 				qs := r.URL.Query().Get("query")
 
@@ -114,7 +111,11 @@ func NewMux(
 					}
 				}
 				page := pagination.New(pageNumber, pageSize)
+
+				ctx, cancel := context.WithTimeout(r.Context(), searchTimeout)
 				results, err := index.Search(ctx, source, qs, page.From, page.Size)
+				cancel()
+
 				if err != nil {
 					if err == context.DeadlineExceeded {
 						errorHandler(w, r, "Search timed out", http.StatusInternalServerError)
@@ -219,9 +220,9 @@ func NewMux(
 			importerSingular := importerType.Singular()
 
 			ctx, cancel := context.WithTimeout(r.Context(), searchTimeout)
-			defer cancel()
-
 			doc, err := index.GetDocument(ctx, source, r.PathValue("id"))
+			cancel()
+
 			if err != nil {
 				errorHandler(
 					w,