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