Documentation
¶
Index ¶
- Variables
- func MakeHTTPHandler(b *EventBroadcaster) http.Handler
- type Emitter
- type Event
- type EventBroadcaster
- type EventName
- type Listener
- type Logger
- type PaymentCreatedPayload
- type PaymentID
- type PaymentIDGetter
- type PaymentLinkGeneratedPayload
- type PaymentStatusUpdatedPayload
- type ReferencePayload
- type TransactionCreatedPayload
- type TransactionUpdatedPayload
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func MakeHTTPHandler ¶
func MakeHTTPHandler(b *EventBroadcaster) http.Handler
MakeHTTPHandler returns a handler that makes a set of endpoints available on predefined paths.
Types ¶
type Emitter ¶
type Emitter interface { // Emit fires an event with the given name and payload. Emit(EventName, interface{}) // On registers a listener for the given event name. On(EventName, ...Listener) // OnMany registers a listener for the given event names. ListenEvents(Listener, ...EventName) }
Emitter is an interface that allows to fire events.
type EventBroadcaster ¶
type EventBroadcaster struct {
// contains filtered or unexported fields
}
func NewEventBroadcaster ¶
func NewEventBroadcaster(emitter Emitter, log Logger) *EventBroadcaster
func (*EventBroadcaster) RetranslateEvents ¶
func (b *EventBroadcaster) RetranslateEvents(event EventName, payload interface{}) error
RetranslateEvents retranslates events from the emitter to the event Broadcaster.
type EventName ¶
type EventName string
EventName is a string alias for event names.
const ( PaymentCreated EventName = "payment.created" PaymentProcessing EventName = "payment.processing" PaymentCancelled EventName = "payment.cancelled" PaymentFailed EventName = "payment.failed" PaymentExpired EventName = "payment.expired" PaymentSucceeded EventName = "payment.succeeded" PaymentLinkGenerated EventName = "payment.link.generated" TransactionCreated EventName = "transaction.created" TransactionUpdated EventName = "transaction.updated" TransactionReferenceNotification EventName = "transaction.reference.notification" )
Predefined
type Logger ¶
type Logger interface { Debugf(format string, args ...interface{}) Infof(format string, args ...interface{}) Errorf(format string, args ...interface{}) }
Logger is an interface that allows to log events.
type PaymentID ¶
type PaymentID struct {
PaymentID string `json:"payment_id"`
}
PaymentIDGetter struct for getting payment_id from event payload.
func (PaymentID) GetPaymentID ¶
GetPaymentID returns payment_id from event payload. This method is required for PaymentIDGetter interface.
type PaymentIDGetter ¶
type PaymentIDGetter interface {
GetPaymentID() string
}
PaymentID is an interface for all events that have payment_id field.
type PaymentLinkGeneratedPayload ¶
Event payloads.
type PaymentStatusUpdatedPayload ¶
Event payloads.
type ReferencePayload ¶
type ReferencePayload struct {
Reference string `json:"reference"`
}
Event payloads.
type TransactionCreatedPayload ¶
type TransactionCreatedPayload struct { PaymentID TransactionID string `json:"transaction_id"` Reference string `json:"reference"` }
Event payloads.
Click to show internal directories.
Click to hide internal directories.