From ca2c0045ed86f8c9bc6dccaf20c9e2c2c0fae3f8 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Wed, 14 Aug 2024 10:10:18 +0300 Subject: move regex check to repository from handler --- internal/server/handler/handler.go | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'internal/server/handler/handler.go') diff --git a/internal/server/handler/handler.go b/internal/server/handler/handler.go index 0d5dc11..2630433 100644 --- a/internal/server/handler/handler.go +++ b/internal/server/handler/handler.go @@ -5,7 +5,6 @@ import ( "fmt" "io" "net/http" - "regexp" "codeberg.org/snonux/gos/internal/config/server" "codeberg.org/snonux/gos/internal/server/repository" @@ -13,15 +12,12 @@ import ( ) type Handler struct { - conf server.ServerConfig - getIdRe *regexp.Regexp + conf server.ServerConfig } func New(conf server.ServerConfig) Handler { return Handler{ - conf: conf, - getIdRe: regexp.MustCompile(`^[a-z0-9]{64}$`), - // getIdRe: regexp.MustCompile(`^/[0-9]{4}/[a-z0-9]{64}\.json$`), + conf: conf, } } @@ -58,15 +54,13 @@ func (h Handler) List(w http.ResponseWriter, r *http.Request) error { func (h Handler) Get(w http.ResponseWriter, r *http.Request) error { id := r.URL.Query().Get("id") - if !h.getIdRe.MatchString(id) { - return fmt.Errorf("invalid id %s", id) - } - ent, ok := repository.Instance(h.conf).Get(id) - if !ok { - return fmt.Errorf("no entry with id %s found", id) + ent, err := repository.Instance(h.conf).Get(id) + if err != nil { + return err } + // TODO: Move to repository.go bytes, err := ent.JSONMarshal() if err != nil { return err -- cgit v1.2.3