From 14bb18fbc7e6cdea57f27a44093d645d97bacb64 Mon Sep 17 00:00:00 2001 From: r Date: Thu, 26 Dec 2019 19:18:09 +0000 Subject: Add search page --- service/transport.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'service/transport.go') diff --git a/service/transport.go b/service/transport.go index 6541772..c42462f 100644 --- a/service/transport.go +++ b/service/transport.go @@ -6,6 +6,7 @@ import ( "mime/multipart" "net/http" "path" + "strconv" "github.com/gorilla/mux" ) @@ -280,6 +281,30 @@ func NewHandler(s Service, staticDir string) http.Handler { } }).Methods(http.MethodGet) + r.HandleFunc("/search", func(w http.ResponseWriter, req *http.Request) { + ctx := getContextWithSession(context.Background(), req) + + q := req.URL.Query().Get("q") + qType := req.URL.Query().Get("type") + offsetStr := req.URL.Query().Get("offset") + + var offset int + var err error + if len(offsetStr) > 1 { + offset, err = strconv.Atoi(offsetStr) + if err != nil { + s.ServeErrorPage(ctx, w, err) + return + } + } + + err = s.ServeSearchPage(ctx, w, nil, q, qType, offset) + if err != nil { + s.ServeErrorPage(ctx, w, err) + return + } + }).Methods(http.MethodGet) + r.HandleFunc("/signout", func(w http.ResponseWriter, req *http.Request) { // TODO remove session from database w.Header().Add("Set-Cookie", fmt.Sprintf("session_id=;max-age=0")) -- cgit v1.2.3