router.go 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. package activitypub
  2. import (
  3. "net/http"
  4. "github.com/owncast/owncast/activitypub/controllers"
  5. "github.com/owncast/owncast/router/middleware"
  6. )
  7. // StartRouter will start the federation specific http router.
  8. func StartRouter() {
  9. // WebFinger
  10. http.HandleFunc("/.well-known/webfinger", controllers.WebfingerHandler)
  11. // Host Metadata
  12. http.HandleFunc("/.well-known/host-meta", controllers.HostMetaController)
  13. // Nodeinfo v1
  14. http.HandleFunc("/.well-known/nodeinfo", controllers.NodeInfoController)
  15. // x-nodeinfo v2
  16. http.HandleFunc("/.well-known/x-nodeinfo2", controllers.XNodeInfo2Controller)
  17. // Nodeinfo v2
  18. http.HandleFunc("/nodeinfo/2.0", controllers.NodeInfoV2Controller)
  19. // Instance details
  20. http.HandleFunc("/api/v1/instance", controllers.InstanceV1Controller)
  21. // Single ActivityPub Actor
  22. http.HandleFunc("/federation/user/", middleware.RequireActivityPubOrRedirect(controllers.ActorHandler))
  23. // Single AP object
  24. http.HandleFunc("/federation/", middleware.RequireActivityPubOrRedirect(controllers.ObjectHandler))
  25. }