feat: initial commit

This commit is contained in:
2025-06-10 21:09:58 +02:00
commit 1fb753469e
84 changed files with 3912 additions and 0 deletions

View File

@ -0,0 +1,38 @@
package webui
import (
"net/http"
"github.com/gorilla/sessions"
)
type Options struct {
BaseURL string
SessionStore sessions.Store
Mounts map[string]http.Handler
}
type OptionFunc func(opts *Options)
func NewOptions(funcs ...OptionFunc) *Options {
opts := &Options{
BaseURL: "",
Mounts: make(map[string]http.Handler),
}
for _, fn := range funcs {
fn(opts)
}
return opts
}
func WithBaseURL(baseURL string) OptionFunc {
return func(opts *Options) {
opts.BaseURL = baseURL
}
}
func WithMount(mountpoint string, handler http.Handler) OptionFunc {
return func(opts *Options) {
opts.Mounts[mountpoint] = handler
}
}