Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrStreamDisconnect error = errors.New("stream disconnect")
ErrStreamDisconnect is a stream disconnect error
Functions ¶
This section is empty.
Types ¶
type Connection ¶
Connection is simple interface for streams
type Event ¶ added in v0.0.24
type Event struct {
// APIKey is the SDKs API Key
APIKey string
// Environment is the ID of the environment that the event occured for
Environment string
// SSEEvent is the SSEEvent that was sent from the FeatureFlags server to the SDK
SSEEvent *sse.Event
// Err holds any errors encountered by the sdk while listening on the stream and this
// field should be used to pass those errors on to the EventStreamListener to let it
// know something has gone wrong on the stream it's listening on
Err error
}
Event defines the structure of an event that gets sent to a EventStreamListener
type EventStreamListener ¶ added in v0.0.24
type EventStreamListener interface {
// Pub publishes an event from the SDK to your Listener. Pub should implement
// any backoff/retry logic as this is not handled in the SDK.
Pub(ctx context.Context, event Event) error
}
EventStreamListener provides a way to hook in to the SSE Events that the SDK recieves from the FeatureFlags server and forward them on to another type.
type Message ¶
type Message struct {
Event string `json:"event"`
Domain string `json:"domain"`
Identifier string `json:"identifier"`
Version int `json:"version"`
}
Message is basic object for marshalling data from ff stream
type SSEClient ¶
type SSEClient struct {
// contains filtered or unexported fields
}
SSEClient is Server Send Event object
func NewSSEClient ¶
func NewSSEClient( apiKey string, token string, client *sse.Client, repository repository.Repository, api rest.ClientWithResponsesInterface, logger logger.Logger, eventStreamListener EventStreamListener, proxyMode bool, streamConnected chan struct{}, streamDisconnected chan error, ) *SSEClient
NewSSEClient creates an object for stream interactions
Click to show internal directories.
Click to hide internal directories.