porting all github actions from bluesky-social/indigo to tangled CI
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

wire up existing http.Client for sibling requests

+8 -13
+1 -7
cmd/relay/forward.go
··· 5 5 "io" 6 6 "net/http" 7 7 "strings" 8 - "time" 9 8 10 9 "github.com/bluesky-social/indigo/cmd/relay/relay" 11 10 ··· 34 33 s.logger.Info("not re-forwarding request to sibling relay", "header", "User-Agent", "value", ua) 35 34 return 36 35 } 37 - } 38 - 39 - // TODO: could turn this in to a shared/persistent client 40 - client := http.Client{ 41 - Timeout: 10 * time.Second, 42 36 } 43 37 44 38 for _, rawHost := range s.config.SiblingRelayHosts { ··· 75 69 // add Via header (critical to prevent forwarding loops) 76 70 upstreamReq.Header.Add("Via", req.Proto+" atproto-relay") 77 71 78 - upstreamResp, err := client.Do(upstreamReq) 72 + upstreamResp, err := s.siblingClient.Do(upstreamReq) 79 73 if err != nil { 80 74 s.logger.Warn("forwarded admin HTTP request failed", "method", req.Method, "sibling", hostname, "url", u.String(), "err", err) 81 75 continue
+7 -6
cmd/relay/service.go
··· 23 23 relay *relay.Relay 24 24 config ServiceConfig 25 25 26 - crawlForwardClient http.Client 26 + siblingClient http.Client 27 27 } 28 28 29 29 type ServiceConfig struct { ··· 56 56 } 57 57 58 58 svc := &Service{ 59 - logger: slog.Default().With("system", "relay"), 60 - relay: r, 61 - config: *config, 62 - crawlForwardClient: http.Client{}, 59 + logger: slog.Default().With("system", "relay"), 60 + relay: r, 61 + config: *config, 62 + siblingClient: http.Client{ 63 + Timeout: 10 * time.Second, 64 + }, 63 65 } 64 - svc.crawlForwardClient.Timeout = time.Second * 5 65 66 66 67 return svc, nil 67 68 }