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.