39 lines
982 B
Go

package main
import (
"log"
"net/http"
"time"
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/handler"
)
func main() {
serverEventsMiddleware := di.Inject[serverevents.IMiddleware]()
eventRegistration := di.Inject[serverevents.IEventHandlerRegistration]()
eventRegistration.Use(handler.NewPingEventHandler)
eventRegistration.Use(handler.NewGreetMeEventHandler)
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))
}