Documentation
¶
Overview ¶
Package soffit provides data structures for the data types one can expect from the uPortal Soffit portlet. This should help enable more rapid iteration when working in a soffit environment.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RandHTMLID ¶
RandHTMLID generates a random valid HTML ID to be used for namespacing
Types ¶
type Context ¶
type Context struct { PortalInfo PortalInfo `json:"portalInfo"` SupportedWindowStates []string `json:"supportedWindowStates"` Attributes url.Values `json:"attributes"` }
Context represents information about the portal creating the request
type Headers ¶
type Headers struct { Preferences map[string]interface{} `json:"preferences"` Definition map[string]interface{} `json:"definition"` Request map[string]interface{} `json:"request"` }
Headers provides structured access to the several headers that may be sent in the soffit payload.
type Payload ¶
type Payload struct { Request Request `json:"request"` User UserDetails `json:"user"` Context Context `json:"context"` }
Payload is the tentative name for the main Soffit request body
type PortalInfo ¶
type PortalInfo struct { Provider string `json:"provider"` Version semver.Version `json:"version"` Snapshot bool `json:"snapshot"` }
PortalInfo is the representation of the portal information sent by the uPortal server.
func (*PortalInfo) UnmarshalJSON ¶
func (p *PortalInfo) UnmarshalJSON(bs []byte) error
UnmarshalJSON implements json.Unmarshaler
type Receiver ¶
type Receiver struct {
Password string
}
Receiver takes a password, provides utilities for handling incoming Soffit requests.
type Request ¶
type Request struct { Mode string `json:"mode"` WindowID string `json:"windowId"` Namespace string `json:"namespace"` WindowState string `json:"windowState"` Properties map[string]string `json:"properties"` Preferences url.Values `json:"preferences"` Attributes url.Values `json:"attributes"` }
Request is the go representation of the Soffit JSON request format v_1.