Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
38 lines
931 B
Go
38 lines
931 B
Go
// Copyright © 2023 Ory Corp
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package x
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/gorilla/sessions"
|
|
"github.com/hashicorp/go-retryablehttp"
|
|
|
|
"github.com/ory/x/httpx"
|
|
"github.com/ory/x/logrusx"
|
|
"github.com/ory/x/otelx"
|
|
)
|
|
|
|
type CookieProvider interface {
|
|
CookieManager(ctx context.Context) sessions.StoreExact
|
|
ContinuityCookieManager(ctx context.Context) sessions.StoreExact
|
|
}
|
|
|
|
type BasicRegistry struct {
|
|
L *logrusx.Logger
|
|
C *retryablehttp.Client
|
|
T *otelx.Tracer
|
|
}
|
|
|
|
func (s *BasicRegistry) Tracer(_ context.Context) *otelx.Tracer { return s.T }
|
|
func (s *BasicRegistry) Logger() *logrusx.Logger { return s.L }
|
|
|
|
func (s *BasicRegistry) HTTPClient(_ context.Context, _ ...httpx.ResilientOptions) *retryablehttp.Client {
|
|
return s.C
|
|
}
|
|
|
|
var _ logrusx.Provider = (*BasicRegistry)(nil)
|
|
var _ httpx.ClientProvider = (*BasicRegistry)(nil)
|
|
var _ otelx.Provider = (*BasicRegistry)(nil)
|