Use config in server
This commit is contained in:
@@ -19,15 +19,15 @@ import (
|
||||
var static embed.FS
|
||||
|
||||
type Server struct {
|
||||
users *UserStore
|
||||
streams *StreamStore
|
||||
config *Config
|
||||
http.Server
|
||||
}
|
||||
|
||||
func NewServer(store *UserStore) *Server {
|
||||
func NewServer(config *Config) *Server {
|
||||
srv := &Server{
|
||||
users: store,
|
||||
streams: NewStreamStore(),
|
||||
config: config,
|
||||
}
|
||||
|
||||
r := chi.NewRouter()
|
||||
@@ -41,6 +41,7 @@ func NewServer(store *UserStore) *Server {
|
||||
r.Patch("/whip/{streamKey}", srv.PatchHandler)
|
||||
r.Post("/whip/{streamKey}", srv.PostOfferHandler)
|
||||
r.Get("/stats", srv.streams.StatsHandler)
|
||||
r.Get("/api/siteinfo", srv.InfoHandler)
|
||||
|
||||
srv.Handler = r
|
||||
|
||||
@@ -55,6 +56,17 @@ func corsMiddleware(next http.Handler) http.Handler {
|
||||
return http.HandlerFunc(fn)
|
||||
}
|
||||
|
||||
func (s *Server) InfoHandler(w http.ResponseWriter, r *http.Request) {
|
||||
var infoResponse struct {
|
||||
SiteName string `json:"siteName"`
|
||||
}
|
||||
infoResponse.SiteName = s.config.SiteName
|
||||
|
||||
if err := json.NewEncoder(w).Encode(&infoResponse); err != nil {
|
||||
slog.Warn("Error writing info response")
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) OptionsHandler(w http.ResponseWriter, r *http.Request) {
|
||||
slog.Info("Got OPTIONS")
|
||||
}
|
||||
|
Reference in New Issue
Block a user