38 lines
991 B
Go
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))
|
|
}
|