From 7b798789897bd07b03510e073f41e8deadbc460c Mon Sep 17 00:00:00 2001 From: JP Appel Date: Tue, 5 Aug 2025 15:00:27 -0400 Subject: Add form for querying server from http --- pkg/server/server.go | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'pkg/server/server.go') diff --git a/pkg/server/server.go b/pkg/server/server.go index 2352f21..65034be 100644 --- a/pkg/server/server.go +++ b/pkg/server/server.go @@ -31,11 +31,20 @@ Try POSTing a query to
/search

  • path
  • title
  • date
  • +
  • headings
  • filetime
  • meta
  • -You can change the order using
    sortOrder
    with asc or desc -

    `)) +You can change the order using
    sortOrder
    with
    asc
    or
    desc
    +

    +
    +
    Submit a Query + + + +
    +
    +`)) } func NewMux(db *data.Query) *http.ServeMux { @@ -49,7 +58,12 @@ func NewMux(db *data.Query) *http.ServeMux { mux.HandleFunc("/", info) mux.HandleFunc("POST /search", func(w http.ResponseWriter, r *http.Request) { b := &strings.Builder{} - if _, err := io.Copy(b, r.Body); err != nil { + r.ParseForm() + + if v := r.Form.Get("query"); v != "" { + slog.Debug("parsing form, got value", slog.String("value", v)) + b.WriteString(v) + } else if _, err := io.Copy(b, r.Body); err != nil { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte("Error processing request")) slog.Error("Error reading request body", slog.String("err", err.Error())) -- cgit v1.2.3