aboutsummaryrefslogtreecommitdiff
path: root/http/server.go
diff options
context:
space:
mode:
Diffstat (limited to 'http/server.go')
-rw-r--r--http/server.go96
1 files changed, 0 insertions, 96 deletions
diff --git a/http/server.go b/http/server.go
deleted file mode 100644
index 7d18085..0000000
--- a/http/server.go
+++ /dev/null
@@ -1,96 +0,0 @@
-package http
-
-import (
- "io"
- "net/http"
-
- "git.capotej.com/capotej/communique/registry"
- "github.com/gin-gonic/gin"
-)
-
-// TODO rename to Router and router.go
-type Server struct {
- registry *registry.Registry
-}
-
-func NewServer(registry *registry.Registry) *Server {
- return &Server{registry: registry}
-}
-
-func (s *Server) Start(zapWriter io.Writer) {
- router := gin.Default()
- router.SetTrustedProxies(nil)
- gin.DisableConsoleColor()
- gin.DefaultWriter = zapWriter // send gin logs to zap
-
- // Webfinger
- router.GET("/.well-known/webfinger", func(c *gin.Context) {
- resourceParam := c.Query("resource")
- resource, _ := s.registry.WebfingerResource(resourceParam)
- if resource != nil {
- c.JSON(http.StatusOK, resource)
- } else {
- c.JSON(http.StatusNotFound, nil)
- }
-
- })
-
- // "User" endpoint
- router.GET("/actors/:actor", func(c *gin.Context) {
- actorParam := c.Param("actor")
- resource, _ := s.registry.Profile(actorParam)
- if resource != nil {
- c.Writer.Header().Set("Content-Type", "application/activity+json")
- c.JSON(http.StatusOK, resource)
- } else {
- c.JSON(http.StatusNotFound, nil)
- }
-
- })
-
- // // Inbox
- // router.POST("/actors/:actor/inbox", func(c *gin.Context) {
- // actorParam := c.Param("actor")
- // resource := s.registry.Inbox(actorParam)
- // if resource != nil {
- // c.JSON(http.StatusOK, resource)
- // } else {
- // c.JSON(http.StatusNotFound, nil)
- // }
-
- // })
-
- // Outbox
- router.GET("/actors/:actor/outbox", func(c *gin.Context) {
- actorParam := c.Param("actor")
- var resource map[string]interface{}
- if c.Query("page") == "true" {
- resource, _ = s.registry.OutboxCollection(actorParam)
- } else {
- resource, _ = s.registry.Outbox(actorParam)
- }
- if resource != nil {
- c.JSON(http.StatusOK, resource)
- c.Writer.Header().Set("Content-Type", "application/activity+json")
- } else {
- c.JSON(http.StatusNotFound, nil)
- }
- })
-
- // Single activity
- router.GET("/actors/:actor/outbox/:id/activity", func(c *gin.Context) {
- actorParam := c.Param("actor")
- idParam := c.Param("id")
- var resource map[string]interface{}
- resource, _ = s.registry.Activity(actorParam, idParam)
-
- if resource != nil {
- c.Writer.Header().Set("Content-Type", "application/activity+json")
- c.JSON(http.StatusOK, resource)
- } else {
- c.JSON(http.StatusNotFound, nil)
- }
- })
-
- router.Run()
-}