github.com/filecoin-project/bacalhau@v0.3.23-0.20230228154132-45c989550ace/pkg/publisher/estuary/endpoints.go (about) 1 package estuary 2 3 import ( 4 "fmt" 5 "net/http" 6 7 estuary_client "github.com/application-research/estuary-clients/go" 8 "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" 9 semconv "go.opentelemetry.io/otel/semconv/v1.17.0" 10 "go.opentelemetry.io/otel/trace" 11 ) 12 13 const gatewayEndpoint string = "https://api.estuary.tech" 14 15 func getAPIConfig(baseURL string, apiKey string) *estuary_client.Configuration { 16 config := estuary_client.NewConfiguration() 17 config.BasePath = baseURL 18 config.AddDefaultHeader("Authorization", "Bearer "+apiKey) 19 config.HTTPClient = &http.Client{ 20 Transport: otelhttp.NewTransport(nil, otelhttp.WithSpanNameFormatter(func(operation string, r *http.Request) string { 21 return fmt.Sprintf("%s %s", r.Method, r.URL.Path) 22 }), otelhttp.WithSpanOptions(trace.WithAttributes(semconv.PeerService("estuary")))), 23 } 24 return config 25 } 26 27 func GetClient(apiKey string) *estuary_client.APIClient { 28 gatewayConfig := getAPIConfig(gatewayEndpoint, apiKey) 29 return estuary_client.NewAPIClient(gatewayConfig) 30 }