From 5e51c63643fd4dcb17a23af08bb25cf47fad7650 Mon Sep 17 00:00:00 2001 From: Julio Capote Date: Sat, 17 Dec 2022 16:28:13 -0500 Subject: start of actor endpoint --- http/server.go | 11 +++++++++++ registry/registry.go | 9 +++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/http/server.go b/http/server.go index 6d68d0e..c720a6d 100644 --- a/http/server.go +++ b/http/server.go @@ -33,5 +33,16 @@ func (s *Server) Start(zapWriter io.Writer) { }) + router.GET("/actors/:actor", func(c *gin.Context) { + actorParam := c.Param("actor") + resource := s.registry.LookupByName(actorParam) + if resource != nil { + c.JSON(http.StatusOK, resource) + } else { + c.JSON(http.StatusNotFound, nil) + } + + }) + router.Run() } diff --git a/registry/registry.go b/registry/registry.go index 04c4565..fc0e9d9 100644 --- a/registry/registry.go +++ b/registry/registry.go @@ -26,8 +26,13 @@ func NewRegistry(cfg config.Config) *Registry { return ® } -func (r *Registry) LookupResource(name string) *webfinger.Resource { - handler, ok := r.handlerMap[name] +func (r *Registry) LookupByName(name string) *webfinger.Resource { + fqdn := fmt.Sprintf("acct:%s@%s", name, r.cfg.Domain) + return r.LookupResource(fqdn) +} + +func (r *Registry) LookupResource(fqdn string) *webfinger.Resource { + handler, ok := r.handlerMap[fqdn] if !ok { return nil } -- cgit v1.2.3