2025-07-09 23:28:48 +02:00

38 lines
991 B
Go

package main
import (
di "git.apihub24.de/admin/generic-di"
serverevents "git.apihub24.de/admin/server_events/v2"
"git.apihub24.de/admin/server_events/v2/implementation_test/events"
"log"
"net/http"
"time"
)
func main() {
serverEventsMiddleware := di.Inject[serverevents.IMiddleware]()
eventRegistration := di.Inject[serverevents.IEventHandlerRegistration]()
eventRegistration.Add("ping", events.NewPingEventHandler)
eventRegistration.Add("greet me", events.NewGreeterEventHandler)
router := http.NewServeMux()
router.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
if r.Method == "GET" {
w.Header().Set("Content-Type", "text/html")
w.WriteHeader(http.StatusOK)
_, _ = w.Write([]byte(Index))
return
}
})
router = serverEventsMiddleware.Use(serverevents.MiddlewareOptions{
Path: "/events",
ContextLifetime: 500 * time.Second,
KeepAliveTime: 2 * time.Second,
}, router)
log.Fatal(http.ListenAndServe(":8080", router))
}