Documentation
¶
Index ¶
- Variables
- type CustomResponse
- func (x *CustomResponse) ClearCustomResponseMatcher()
- func (x *CustomResponse) GetCustomResponseMatcher() *v3.Matcher
- func (x *CustomResponse) HasCustomResponseMatcher() bool
- func (*CustomResponse) ProtoMessage()
- func (x *CustomResponse) ProtoReflect() protoreflect.Message
- func (x *CustomResponse) Reset()
- func (x *CustomResponse) SetCustomResponseMatcher(v *v3.Matcher)
- func (x *CustomResponse) String() string
- type CustomResponse_builder
Constants ¶
This section is empty.
Variables ¶
View Source
var File_envoy_extensions_filters_http_custom_response_v3_custom_response_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type CustomResponse ¶
type CustomResponse struct {
// Matcher to match against the original response to select a
// :ref:`Custom Response Policy <extension_category_envoy.http.custom_response>`
// that will override the original response. The matching is done by matching
// against :ref:`response header values<extension_category_envoy.matching.http.input>`
// Example:
//
// .. validated-code-block:: yaml
//
// :type-name: xds.type.matcher.v3.Matcher
//
// matcher_list:
// matchers:
// # Apply a locally stored custom response to any 4xx response.
// - predicate:
// single_predicate:
// input:
// name: 4xx_response
// typed_config:
// "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput
// value_match:
// exact: "4xx"
// on_match:
// action:
// name: action
// typed_config:
// "@type": type.googleapis.com/envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy
// status_code: 499
// body:
// inline_string: "not allowed"
// body_format:
// json_format:
// status: "%RESPONSE_CODE%"
// message: "%LOCAL_REPLY_BODY%"
// response_headers_to_add:
// - header:
// key: "foo"
// value: "x-bar"
// # Redirect to different upstream if the status code is one of 502, 503 or 504.
// - predicate:
// or_matcher:
// predicate:
// - single_predicate:
// input:
// name: "502_response"
// typed_config:
// "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput
// value_match:
// exact: "502"
// - single_predicate:
// input:
// name: "503_response"
// typed_config:
// "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput
// value_match:
// exact: "503"
// - single_predicate:
// input:
// name: "504_response"
// typed_config:
// "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput
// value_match:
// exact: "504"
// on_match:
// action:
// name: action
// typed_config:
// "@type": type.googleapis.com/envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy
// status_code: 299
// uri: "https://foo.example/gateway_error"
// response_headers_to_add:
// - header:
// key: "foo2"
// value: "x-bar2"
//
// -- attention::
//
// The first matched policy wins. Once the response is matched, matcher
// evaluations end.
//
// Refer to :ref:`Unified Matcher API <envoy_v3_api_msg_.xds.type.matcher.v3.Matcher>`
// documentation for more information on the matcher trees.
// [#extension-category: envoy.http.custom_response]
CustomResponseMatcher *v3.Matcher `` /* 126-byte string literal not displayed */
// contains filtered or unexported fields
}
The filter configuration is a collection of custom response policies in a matcher tree. The configuration can be defined at the filter, virtual host or route level. The response will be matched against the most specific to the least specific config, till a match is found.
func (*CustomResponse) ClearCustomResponseMatcher ¶
func (x *CustomResponse) ClearCustomResponseMatcher()
func (*CustomResponse) GetCustomResponseMatcher ¶
func (x *CustomResponse) GetCustomResponseMatcher() *v3.Matcher
func (*CustomResponse) HasCustomResponseMatcher ¶
func (x *CustomResponse) HasCustomResponseMatcher() bool
func (*CustomResponse) ProtoMessage ¶
func (*CustomResponse) ProtoMessage()
func (*CustomResponse) ProtoReflect ¶
func (x *CustomResponse) ProtoReflect() protoreflect.Message
func (*CustomResponse) Reset ¶
func (x *CustomResponse) Reset()
func (*CustomResponse) SetCustomResponseMatcher ¶
func (x *CustomResponse) SetCustomResponseMatcher(v *v3.Matcher)
func (*CustomResponse) String ¶
func (x *CustomResponse) String() string
type CustomResponse_builder ¶
type CustomResponse_builder struct {
// Matcher to match against the original response to select a
// :ref:`Custom Response Policy <extension_category_envoy.http.custom_response>`
// that will override the original response. The matching is done by matching
// against :ref:`response header values<extension_category_envoy.matching.http.input>`
// Example:
//
// .. validated-code-block:: yaml
//
// :type-name: xds.type.matcher.v3.Matcher
//
// matcher_list:
// matchers:
// # Apply a locally stored custom response to any 4xx response.
// - predicate:
// single_predicate:
// input:
// name: 4xx_response
// typed_config:
// "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeClassMatchInput
// value_match:
// exact: "4xx"
// on_match:
// action:
// name: action
// typed_config:
// "@type": type.googleapis.com/envoy.extensions.http.custom_response.local_response_policy.v3.LocalResponsePolicy
// status_code: 499
// body:
// inline_string: "not allowed"
// body_format:
// json_format:
// status: "%RESPONSE_CODE%"
// message: "%LOCAL_REPLY_BODY%"
// response_headers_to_add:
// - header:
// key: "foo"
// value: "x-bar"
// # Redirect to different upstream if the status code is one of 502, 503 or 504.
// - predicate:
// or_matcher:
// predicate:
// - single_predicate:
// input:
// name: "502_response"
// typed_config:
// "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput
// value_match:
// exact: "502"
// - single_predicate:
// input:
// name: "503_response"
// typed_config:
// "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput
// value_match:
// exact: "503"
// - single_predicate:
// input:
// name: "504_response"
// typed_config:
// "@type": type.googleapis.com/envoy.type.matcher.v3.HttpResponseStatusCodeMatchInput
// value_match:
// exact: "504"
// on_match:
// action:
// name: action
// typed_config:
// "@type": type.googleapis.com/envoy.extensions.http.custom_response.redirect_policy.v3.RedirectPolicy
// status_code: 299
// uri: "https://foo.example/gateway_error"
// response_headers_to_add:
// - header:
// key: "foo2"
// value: "x-bar2"
//
// -- attention::
//
// The first matched policy wins. Once the response is matched, matcher
// evaluations end.
//
// Refer to :ref:`Unified Matcher API <envoy_v3_api_msg_.xds.type.matcher.v3.Matcher>`
// documentation for more information on the matcher trees.
// [#extension-category: envoy.http.custom_response]
CustomResponseMatcher *v3.Matcher
// contains filtered or unexported fields
}
func (CustomResponse_builder) Build ¶
func (b0 CustomResponse_builder) Build() *CustomResponse
Source Files
¶
- custom_response.pb.go
Click to show internal directories.
Click to hide internal directories.