llm browser

This commit is contained in:
developer committed 2026-10-19 15:25:27 +00:00
1 parent afed023152
commit a4dbb75195
39 files changed
+3709 -58

No files matched your search

+8
View File
@@ -9,6 +9,7 @@ import (
"strings"
"time"
"git.k6n.net/mats/fullstack-template/internal/browse"
"git.k6n.net/mats/fullstack-template/internal/items"
)
@@ -21,6 +22,7 @@ type Pinger interface {
type Deps struct {
Logger *slog.Logger
Items *items.Service
Browse *browse.Service
DB Pinger
AllowedOrigins []string
RequestTimeout time.Duration // zero means the 30s default
@@ -54,6 +56,7 @@ func New(deps Deps) http.Handler {
logger: deps.Logger,
db: deps.DB,
items: &itemHandler{svc: deps.Items, logger: deps.Logger},
browse: &browseHandler{svc: deps.Browse, logger: deps.Logger},
auth: authH,
}
@@ -80,6 +83,10 @@ func New(deps Deps) http.Handler {
mux.HandleFunc("PATCH /api/v1/items/{id}", s.items.update)
mux.HandleFunc("DELETE /api/v1/items/{id}", s.items.delete)
// Agent view: renders a remote page the way a text-only agent sees it.
// The URL comes in via query parameter, so the response is a plain GET.
mux.HandleFunc("GET /api/v1/browse", s.browse.get)
// The wrapper keeps the mux's automatic 405 + Allow responses for
// wrong-method requests and renders all unmatched routes as JSON 404s
// (the mux default is plain text).
@@ -99,6 +106,7 @@ type server struct {
logger *slog.Logger
db Pinger
items *itemHandler
browse *browseHandler
auth *authHandler
}