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.