diff options
author | Alan Pearce | 2025-03-10 14:05:17 +0100 |
---|---|---|
committer | Alan Pearce | 2025-03-10 14:05:17 +0100 |
commit | 05a32bda78911772cb8b09f37bacbcf851a4ddba (patch) | |
tree | 11dcef029c4d47e25d361653717263525707be05 /internal/server/mux.go | |
parent | 0de558cbda214106f46d26ace622df5dbb3266fd (diff) | |
download | searchix-05a32bda78911772cb8b09f37bacbcf851a4ddba.tar.lz searchix-05a32bda78911772cb8b09f37bacbcf851a4ddba.tar.zst searchix-05a32bda78911772cb8b09f37bacbcf851a4ddba.zip |
feat: default to combined search on root path
Diffstat (limited to 'internal/server/mux.go')
-rw-r--r-- | internal/server/mux.go | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/internal/server/mux.go b/internal/server/mux.go index 9dbcc86..9c69a7e 100644 --- a/internal/server/mux.go +++ b/internal/server/mux.go @@ -71,18 +71,6 @@ func NewMux( top := http.NewServeMux() mux := sentryhttp.NewServeMux() - mux.HandleFunc("/{$}", func(w http.ResponseWriter, r *http.Request) { - indexData := components.TemplateData{ - ExtraHeadHTML: cfg.Web.ExtraHeadHTML, - Sources: sources, - Assets: frontend.Assets, - } - w.Header().Add("Cache-Control", "max-age=86400") - err := components.Homepage(indexData).Render(r.Context(), w) - if err != nil { - errorHandler(w, r, err.Error(), http.StatusInternalServerError) - } - }) const searchTimeout = 1 * time.Second createSearchHandler := func(importerType config.ImporterType) func(http.ResponseWriter, *http.Request) { @@ -213,10 +201,12 @@ func NewMux( } } - mux.HandleFunc("/all/search", createSearchHandler(config.All)) + mux.HandleFunc("/{$}", createSearchHandler(config.All)) mux.HandleFunc("/options/{source}/search", createSearchHandler(config.Options)) mux.HandleFunc("/packages/{source}/search", createSearchHandler(config.Packages)) + mux.Handle("/all/search", http.RedirectHandler("/", http.StatusFound)) + createSourceIDHandler := func(importerType config.ImporterType) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { source := cfg.Importer.Sources[r.PathValue("source")] @@ -317,18 +307,19 @@ func NewMux( mux.HandleFunc("/options/{source}/opensearch.xml", createOpenSearchXMLHandler(config.Options)) mux.HandleFunc("/packages/{source}/opensearch.xml", createOpenSearchXMLHandler(config.Packages)) - mux.HandleFunc("/all/opensearch.xml", func(w http.ResponseWriter, _ *http.Request) { + mux.Handle("/all/opensearch.xml", http.RedirectHandler("/opensearch.xml", http.StatusFound)) + mux.HandleFunc("/opensearch.xml", func(w http.ResponseWriter, _ *http.Request) { w.Header().Add("Cache-Control", "max-age=604800") w.Header().Set("Content-Type", "application/opensearchdescription+xml") osd := &opensearch.Description{ ShortName: "Searchix Combined", LongName: "Search nix options and packages with Searchix", Description: "Search nix options and packages with Searchix", - SearchForm: cfg.Web.BaseURL.JoinPath("all/search"), + SearchForm: cfg.Web.BaseURL.JoinPath(), URL: opensearch.URL{ Method: "get", Type: "text/html", - Template: cfg.Web.BaseURL.JoinPath("all/search"). + Template: cfg.Web.BaseURL.JoinPath(). AddRawQuery("query", "{searchTerms}"), }, } |