Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func SetDefaults ¶
Types ¶
type Options ¶
type Options struct { // Path indicates the HTTP Request's URL PATH to which this configuration applies Path string `yaml:"path,omitempty"` // MatchTypeName indicates the type of path match the router will apply to the path ('exact' or 'prefix') MatchTypeName string `yaml:"match_type,omitempty"` // HandlerName provides the name of the HTTP handler to use HandlerName string `yaml:"handler,omitempty"` // Methods provides the list of permitted HTTP request methods for this Path Methods []string `yaml:"methods,omitempty"` // CacheKeyParams provides the list of http request query parameters to be included // in the hash for each request's cache key CacheKeyParams []string `yaml:"cache_key_params,omitempty"` // CacheKeyHeaders provides the list of http request headers to be included in the hash for each request's cache key CacheKeyHeaders []string `yaml:"cache_key_headers,omitempty"` // CacheKeyFormFields provides the list of http request body fields to be included // in the hash for each request's cache key CacheKeyFormFields []string `yaml:"cache_key_form_fields,omitempty"` // RequestHeaders is a map of headers that will be added to requests to the upstream Origin for this path RequestHeaders map[string]string `yaml:"request_headers,omitempty"` // RequestParams is a map of headers that will be added to requests to the upstream Origin for this path RequestParams map[string]string `yaml:"request_params,omitempty"` // ResponseHeaders is a map of http headers that will be added to responses to the downstream client ResponseHeaders map[string]string `yaml:"response_headers,omitempty"` // ResponseCode sets a custom response code to be sent to downstream clients for this path. ResponseCode int `yaml:"response_code,omitempty"` // ResponseBody sets a custom response body to be sent to the donstream client for this path. ResponseBody string `yaml:"response_body,omitempty"` // CollapsedForwardingName indicates 'basic' or 'progressive' Collapsed Forwarding to be used by this path. CollapsedForwardingName string `yaml:"collapsed_forwarding,omitempty"` // ReqRewriterName is the name of a configured Rewriter that will modify the request prior to // processing by the backend client ReqRewriterName string `yaml:"req_rewriter_name,omitempty"` // NoMetrics, when set to true, disables metrics decoration for the path NoMetrics bool `yaml:"no_metrics"` // Handler is the HTTP Handler represented by the Path's HandlerName Handler http.Handler `yaml:"-"` // ResponseBodyBytes provides a byte slice version of the ResponseBody value ResponseBodyBytes []byte `yaml:"-"` // MatchType is the PathMatchType representation of MatchTypeName MatchType matching.PathMatchType `yaml:"-"` // CollapsedForwardingType is the typed representation of CollapsedForwardingName CollapsedForwardingType forwarding.CollapsedForwardingType `yaml:"-"` // KeyHasher points to an optional function that hashes the cacheKey with a custom algorithm // NOTE: This is used by some backends like IronDB, but is not configurable by end users. KeyHasher key.HasherFunc `yaml:"-"` // Custom is a compiled list of any custom settings for this path from the config file Custom []string `yaml:"-"` // ReqRewriter is the rewriter handler as indicated by RuleName ReqRewriter rewriter.RewriteInstructions // HasCustomResponseBody is a boolean indicating if the response body is custom // this flag allows an empty string response to be configured as a return value HasCustomResponseBody bool `yaml:"-"` }
Options defines a URL Path that is associated with an HTTP Handler
Click to show internal directories.
Click to hide internal directories.