Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiAdmin ¶
type ApiAdmin interface { Add(*ApiDefinition) (*ApiObject, error) Retrieve(name_or_id string) (*ApiObject, error) List(filters ...string) ([]*ApiObject, error) Update(name_or_id string, definition *ApiDefinition) (*ApiObject, error) Replace(*ApiDefinition) (*ApiObject, error) Delete(name_or_id string) error }
type ApiDefinition ¶
type ApiDefinition struct { // required Name string `json:"name"` Hosts []string `json:"hosts"` Uris []string `json:"uris"` Methods []string `json:"methods"` UpstreamUrl string `json:"upstream_url"` // optional StripUri bool `json:"strip_uri"` PreserveHost bool `json:"preserve_host"` Retries int `json:"retries"` UpstreamConnectTimeout int `json:"upstream_connect_timeout"` UpstreamSendTimeout int `json:"upstream_send_timeout"` UpstreamReadTimeout int `json:"upstream_read_timeout"` HttpsOnly bool `json:"https_only"` HttpIfTerminated bool `json:"http_if_terminated"` }
func NewApiDefinition ¶
func NewApiDefinition( name string, upstream string, uris ...string) *ApiDefinition
NewApiDefinition generate ApiDefinition with some default values
type ApiObject ¶
type ApiObject struct { CreatedAt int64 `json:"created_at"` Hosts []string `json:"hosts"` HttpIfTerminated bool `json:"http_if_terminated"` HttpsOnly bool `json:"https_only"` Id string `json:"id"` Name string `json:"name"` PreserveHost bool `json:"preserve_host"` Retries int `json:"retries"` StripUri bool `json:"strip_uri"` UpstreamConnectTimeout int `json:"upstream_connect_timeout"` UpstreamReadTimeout int `json:"upstream_read_timeout"` UpstreamSendTimeout int `json:"upstream_send_timeout"` UpstreamUrl string `json:"upstream_url"` }
type Node ¶
type Node interface { Information() (*NodeInfo, error) Status() (*NodeStatus, error) NewApiAdmin() ApiAdmin }
func ConnectNode ¶
type NodeInfo ¶
type NodeInfo struct { Hostname string `json:"hostname"` LuaVersion string `json:"lua_version"` Plugins struct { AvailableOnServer []string `json:"available_on_server"` EnableInCluster []string `json:"enable_in_cluster"` } `json:"plugins"` Configuration map[string]interface{} `json:"configuration"` Tagline string `json:"tagline"` Version string `json:"version"` }
type NodeStatus ¶
type NodeStatus struct { Server struct { TotalRequests int `json:"total_requests"` ConnectionsActive int `json:"connections_active"` ConnectionsAccepted int `json:"connections_accepted"` ConnectionsHandled int `json:"connections_handled"` ConnectionsReading int `json:"connections_reading"` ConnectionsWriting int `json:"connections_writing"` ConnectionsWaiting int `json:"connections_waiting"` } `json:"server"` Database struct { Reachable bool `json:"reachable"` } `json:"database"` }
Click to show internal directories.
Click to hide internal directories.