Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ConvertValueToType ¶
Types ¶
type BrokerDestinationConfig ¶
Used to specify the target user queue of the Response
type Direction ¶
type Direction int
Direction int defining which way messages are travelling on a Channel.
type Message ¶
type Message struct {
Id *uuid.UUID `json:"id"` // message identifier
DestinationId *uuid.UUID `json:"destinationId"` // destinationId (targeted recipient)
Channel string `json:"channel"` // reference to channel message was sent on.
Destination string `json:"destination"` // destination message was sent to (if galactic)
Payload interface{} `json:"payload"`
Error error `json:"error"`
Direction Direction `json:"direction"`
Headers []MessageHeader `json:"headers"`
}
A Message is the encapsulation of the event sent on the bus. It holds a Direction, errors, a Payload and more.
func GenerateError ¶
func GenerateError(msgConfig *MessageConfig) *Message
func GenerateRequest ¶
func GenerateRequest(msgConfig *MessageConfig) *Message
func GenerateResponse ¶
func GenerateResponse(msgConfig *MessageConfig) *Message
func (*Message) CastPayloadToType ¶
CastPayloadToType converts the raw interface{} typed Payload into the specified object passed as an argument.
type MessageConfig ¶
type MessageHeader ¶
A Message header can contain any meta data.
type Request ¶
type Request struct {
Id *uuid.UUID `json:"id,omitempty"`
Destination string `json:"channel,omitempty"`
Payload interface{} `json:"payload,omitempty"`
RequestCommand string `json:"request,omitempty" mapstructure:"request"`
HttpRequest *http.Request `json:"-"`
HttpResponseWriter http.ResponseWriter `json:"-"`
// Populated if the request was sent on a "private" channel and
// indicates where to send back the Response.
// A service should check this field and if not null copy it to the
// Response.BrokerDestination field to ensure that the response will be sent
// back on the correct the "private" channel.
BrokerDestination *BrokerDestinationConfig `json:"-"`
}
func CreateServiceRequest ¶
CreateServiceRequest is a small utility function that takes request type and payload and returns a new model.Request instance populated with them
func CreateServiceRequestWithHttpRequest ¶
CreateServiceRequestWithHttpRequest does the same as CreateServiceRequest, except the payload is a pointer to the Incoming http.Request, so you can essentially extract what ever you want from the incoming request within your service.
type Response ¶
type Response struct {
Id *uuid.UUID `json:"id,omitempty"`
Destination string `json:"channel,omitempty"`
Payload interface{} `json:"payload,omitempty"`
HttpStatusCode int `json:"httpStatusCode,omitempty"`
Error bool `json:"error,omitempty"`
ErrorCode int `json:"errorCode,omitempty"`
ErrorMessage string `json:"errorMessage,omitempty"`
ErrorObject interface{} `json:"errorObject,omitempty"`
// If populated the response will be sent to a single client
// on the specified destination topic.
BrokerDestination *BrokerDestinationConfig `json:"-"`
Headers map[string]interface{} `json:"-"` // passthrough any http headers
Marshal bool `json:"-"` // if true, the payload be marshalled into JSON.
}
Response represents a payload sent by a Fabric application.
type ResponseHandlerFunction ¶
type ResponseHandlerFunction func(*Response)
type StoreContentResponse ¶
type StoreContentResponse struct {
Items map[string]interface{} `json:"items"`
ResponseType string `json:"responseType"` // should be "storeContentResponse"
StoreId string `json:"storeId"`
StoreVersion int64 `json:"storeVersion"`
}
func NewStoreContentResponse ¶
func NewStoreContentResponse( storeId string, items map[string]interface{}, storeVersion int64) *StoreContentResponse
type UpdateStoreResponse ¶
type UpdateStoreResponse struct {
ItemId string `json:"itemId"`
NewItemValue interface{} `json:"newItemValue"`
ResponseType string `json:"responseType"` // should be "updateStoreResponse"
StoreId string `json:"storeId"`
StoreVersion int64 `json:"storeVersion"`
}
func NewUpdateStoreResponse ¶
func NewUpdateStoreResponse( storeId string, itemId string, newValue interface{}, storeVersion int64) *UpdateStoreResponse