summaryrefslogtreecommitdiff
path: root/internal/server/handler/handler.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2024-08-14 10:10:18 +0300
committerPaul Buetow <paul@buetow.org>2024-08-14 10:10:18 +0300
commitca2c0045ed86f8c9bc6dccaf20c9e2c2c0fae3f8 (patch)
tree2411cca5764b9aacf229ff61bc46a39fd8c65f0d /internal/server/handler/handler.go
parenta43042d48cfbf46f42b1df08e94903ee69d48aed (diff)
move regex check to repository from handler
Diffstat (limited to 'internal/server/handler/handler.go')
-rw-r--r--internal/server/handler/handler.go18
1 files changed, 6 insertions, 12 deletions
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