Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface { // Notify sends a notification to the gateway at the given URL. Notify(ctx context.Context, url string, req *NotifyRequest, resp *NotifyResponse) error }
A Client is how interactions with a Push Gateway is done.
func NewHTTPClient ¶
NewHTTPClient creates a new Push Gateway client.
type Device ¶
type Device struct { AppID string `json:"app_id"` // Required Data map[string]interface{} `json:"data"` // Required. UNSPEC: Sytests require this to allow unknown keys. PushKey string `json:"pushkey"` // Required PushKeyTS int64 `json:"pushkey_ts,omitempty"` Tweaks map[string]interface{} `json:"tweaks,omitempty"` }
type Notification ¶
type Notification struct { Content json.RawMessage `json:"content,omitempty"` Counts *Counts `json:"counts,omitempty"` Devices []*Device `json:"devices"` // Required EventID string `json:"event_id,omitempty"` ID string `json:"id,omitempty"` // Deprecated name for EventID. Membership string `json:"membership,omitempty"` // UNSPEC: required for Sytest. Prio Prio `json:"prio,omitempty"` RoomAlias string `json:"room_alias,omitempty"` RoomID string `json:"room_id,omitempty"` RoomName string `json:"room_name,omitempty"` Sender string `json:"sender,omitempty"` SenderDisplayName string `json:"sender_display_name,omitempty"` Type string `json:"type,omitempty"` UserIsTarget bool `json:"user_is_target,omitempty"` }
type NotifyRequest ¶
type NotifyRequest struct {
Notification Notification `json:"notification"` // Required
}
type NotifyResponse ¶
type NotifyResponse struct { // Rejected is the list of device push keys that were rejected // during the push. The caller should remove the push keys so they // are not used again. Rejected []string `json:"rejected"` // Required }
Click to show internal directories.
Click to hide internal directories.