feat: notify document updates over websocket
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
|
||||
"github.com/tim/md-hub-secure/apps/server/internal/config"
|
||||
"github.com/tim/md-hub-secure/apps/server/internal/docs"
|
||||
"github.com/tim/md-hub-secure/apps/server/internal/realtime"
|
||||
"github.com/tim/md-hub-secure/apps/server/internal/store"
|
||||
)
|
||||
|
||||
@@ -26,6 +27,7 @@ type Dependencies struct {
|
||||
Documents *docs.Service
|
||||
Repository *docs.Repository
|
||||
ContentStore *store.ContentStore
|
||||
Hub *realtime.Hub
|
||||
}
|
||||
|
||||
type Server struct {
|
||||
@@ -34,6 +36,7 @@ type Server struct {
|
||||
documents *docs.Service
|
||||
repository *docs.Repository
|
||||
contentStore *store.ContentStore
|
||||
hub *realtime.Hub
|
||||
templates *template.Template
|
||||
webEnabled bool
|
||||
}
|
||||
@@ -54,6 +57,7 @@ func New(deps Dependencies) (http.Handler, error) {
|
||||
documents: deps.Documents,
|
||||
repository: deps.Repository,
|
||||
contentStore: deps.ContentStore,
|
||||
hub: deps.Hub,
|
||||
templates: templates,
|
||||
}
|
||||
|
||||
@@ -65,12 +69,13 @@ func New(deps Dependencies) (http.Handler, error) {
|
||||
router.Use(middleware.RequestID)
|
||||
router.Use(middleware.RealIP)
|
||||
router.Use(middleware.Recoverer)
|
||||
router.Use(middleware.Timeout(30 * time.Second))
|
||||
router.Use(server.timeoutExceptWebSocket(30 * time.Second))
|
||||
router.Use(server.requestLogger)
|
||||
router.Use(server.securityHeaders)
|
||||
|
||||
router.Get("/", server.handleIndex)
|
||||
router.Get("/health", server.handleHealth)
|
||||
router.Get("/ws", server.handleWebSocket)
|
||||
router.Get("/docs", server.handleDocsIndexRedirect)
|
||||
router.Get("/docs/*", server.handleDocument)
|
||||
router.Post("/api/uploads", server.handleUpload)
|
||||
|
||||
Reference in New Issue
Block a user