remove dependencies

This commit is contained in:
ston1th 2024-10-13 03:06:35 +02:00
commit 1656b91e3b
107 changed files with 567 additions and 7772 deletions

View file

@ -15,36 +15,32 @@ import (
"git.giftfish.de/ston1th/keyctl/pkg/db"
"github.com/go-logr/logr"
"github.com/gorilla/mux"
)
// Server is the webapp and api server
// Server is the api server
type Server struct {
srv *http.Server
mux *mux.Router
log logr.Logger
Data *types.ContextData
data *types.ContextData
listen net.Listener
socket net.Listener
}
type notFoundHandler struct {
s *Server
log logr.Logger
}
func (nf *notFoundHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
types.NewContext(w, r, nil, nf.s.log).Err(types.ErrInvalidAPIRoute)
types.NewContext(w, r, nil, nf.log).Err(types.ErrInvalidAPIRoute)
}
// NewHTTPServer returns a new HTTPServer
func NewServer(log logr.Logger, listen, socket string, db *db.DB) (*Server, error) {
m := mux.NewRouter()
m := http.NewServeMux()
s := &Server{
mux: m,
log: log,
Data: &types.ContextData{
data: &types.ContextData{
Approver: types.NewApprover(),
DB: db,
},
@ -66,9 +62,11 @@ func NewServer(log logr.Logger, listen, socket string, db *db.DB) (*Server, erro
}
s.socket = sock
m.NotFoundHandler = &notFoundHandler{s}
m.Handle("/", &notFoundHandler{log})
for _, v := range serverv1.Routes {
m.HandleFunc(v.Path, s.contextWrapper(v.Handler)).Methods(v.Methods...)
for _, method := range v.Methods {
m.HandleFunc(method+" "+v.Path, s.contextWrapper(v.Handler))
}
}
go func() {
@ -105,7 +103,7 @@ func unixListener(socket string) (sock net.Listener, err error) {
func (s *Server) contextWrapper(h types.CtxHandler) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
h(types.NewContext(w, r, s.Data, s.log))
h(types.NewContext(w, r, s.data, s.log))
}
}