Documentation ¶
Overview ¶
Package config contains a Config struct for kites.
Index ¶
Constants ¶
View Source
const ( WebSocket = iota XHRPolling Auto )
Variables ¶
View Source
var CookieJar, _ = cookiejar.New(nil)
CookieJar ignoring err: the implementation of New() doesn't have any error to be returned yet it returns, so it's totally safe to neglect the error
View Source
var DefaultConfig = &Config{ Username: "unknown", Environment: "unknown", Region: "unknown", IP: "0.0.0.0", Port: 0, Transport: Auto, Timeout: 15 * time.Second, XHR: &http.Client{ Jar: CookieJar, }, Client: &http.Client{ Timeout: 15 * time.Second, Jar: CookieJar, }, Websocket: &websocket.Dialer{ HandshakeTimeout: 15 * time.Second, Jar: CookieJar, }, SockJS: &sockjs.Options{ Websocket: sockjs.DefaultOptions.Websocket, JSessionID: sockjs.DefaultOptions.JSessionID, SockJSURL: sockjs.DefaultOptions.SockJSURL, HeartbeatDelay: 10 * time.Second, DisconnectDelay: 10 * time.Second, ResponseLimit: sockjs.DefaultOptions.ResponseLimit, }, }
DefaultConfig contains the default settings.
View Source
var Transports = map[string]Transport{ "WebSocket": WebSocket, "XHRPolling": XHRPolling, "auto": Auto, }
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { // Options for Kite Username string // Username to set when registering to Kontrol. Environment string // Kite environment to set when registering to Kontrol. Region string // Kite region to set when registering to Kontrol. Id string // Kite ID to use when registering to Kontrol. KiteKey string // The kite.key value to use for "kiteKey" authentication. DisableAuthentication bool // Do not require authentication for requests. DisableConcurrency bool // Do not process messages concurrently. Transport Transport // SockJS transport to use. IP string // IP of the kite server. Port int // Port number of the kite server. // VerifyFunc is used to verify the public key of the signed token. // // If the pub key is not to be trusted, the function must return // kite.ErrKeyNotTrusted error. // // If nil, the default verify is used. By default the public key // is verified by calling Kontrol and the result cached for // VerifyTTL seconds if KontrolVerify is true. Otherwise // only public keys that are the same as the KontrolKey one are // accepted. VerifyFunc func(pub string) error // VerifyTTL is used to control time after result of a single // VerifyFunc's call expires. // // When <0, the result is not cached. // // When 0, the default value of 300s is used. VerifyTTL time.Duration // VerifyAudienceFunc is used to verify the audience of JWT token. // // If nil, the default audience verify function is used which // expects the aud to be a kite path that matches the username, // environment and name of the client. VerifyAudienceFunc func(client *protocol.Kite, aud string) error // XHR is a HTTP client used for polling on responses for a XHR transport. // // Required. XHR *http.Client // Timeout specified max time waiting for the following operations to complete: // // - polling on an XHR connection // - default timeout for certain kite requests (Kontrol API) // - HTTP heartbeats and register method // // NOTE: Ensure the Timeout is higher than SockJS.HeartbeatDelay, otherwise // XHR connections may get randomly closed. // // TODO(rjeczalik): Make kite heartbeats configurable as well. Timeout time.Duration // Client is a HTTP client used for issuing HTTP register request and // HTTP heartbeats. Client *http.Client // Websocket is used for creating a client for a websocket transport. // // If custom one is used, ensure any complemenrary field is also // set in sockjs.WebSocketUpgrader value (for server connections). // // Required. Websocket *websocket.Dialer // SockJS are used to configure SockJS handler. // // Required. SockJS *sockjs.Options // Serve is serving HTTP requests using handler on requests // comming from the given listener. // // If Serve is nil, http.Serve is used by default. Serve func(net.Listener, http.Handler) error KontrolURL string KontrolKey string KontrolUser string // UseWebRTC is the flag for Kite's to communicate over WebRTC if possible. UseWebRTC bool }
Options is passed to kite.New when creating new instance.
func NewFromKiteKey ¶
NewFromKiteKey parses the given kite key file and gives a new Config value.
func (*Config) ReadEnvironmentVariables ¶
func (*Config) ReadKiteKey ¶
ReadKiteKey parsed the user's kite key and returns a new Config.
Click to show internal directories.
Click to hide internal directories.