A single extension chain wrapper that contains the match conditions and extensions to execute.
JSON representation |
---|
{ "name": string, "matchCondition": { object ( |
Fields | |
---|---|
name |
Required. The name for this extension chain. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number. |
match |
Required. Conditions under which this chain is invoked for a request. |
extensions[] |
Required. A set of extensions to execute for the matching request. At least one extension is required. Up to 3 extensions can be defined for each extension chain for |
MatchCondition
Conditions under which this chain is invoked for a request.
JSON representation |
---|
{ "celExpression": string } |
Fields | |
---|---|
cel |
Required. A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed. For more information, see CEL matcher language reference. |
Extension
A single extension in the chain to execute for the matching request.
JSON representation |
---|
{
"name": string,
"authority": string,
"service": string,
"supportedEvents": [
enum ( |
Fields | |
---|---|
name |
Required. The name for this extension. The name is logged as part of the HTTP request logs. The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens, and can have a maximum length of 63 characters. Additionally, the first character must be a letter and the last a letter or a number. |
authority |
Optional. The This field is not supported for plugin extensions. Setting it results in a validation error. |
service |
Required. The reference to the service that runs the extension. Currently only callout extensions are supported here. To configure a callout extension, To configure a plugin extension, |
supported |
Optional. A set of events during request or response processing for which this extension is called. This field is required for the |
timeout |
Optional. Specifies the timeout for each individual message on the stream. The timeout must be between This field is not supported for plugin extensions. Setting it results in a validation error. |
fail |
Optional. Determines how the proxy behaves if the call to the extension fails or times out. When set to
|
forward |
Optional. List of the HTTP headers to forward to the extension (from the client or backend). If omitted, all headers are sent. Each element is a string indicating the header name. |
EventType
The part of the request or response for which the extension is called.
Enums | |
---|---|
EVENT_TYPE_UNSPECIFIED |
Unspecified value. Do not use. |
REQUEST_HEADERS |
If included in supportedEvents , the extension is called when the HTTP request headers arrive. |
REQUEST_BODY |
If included in supportedEvents , the extension is called when the HTTP request body arrives. |
RESPONSE_HEADERS |
If included in supportedEvents , the extension is called when the HTTP response headers arrive. |
RESPONSE_BODY |
If included in supportedEvents , the extension is called when the HTTP response body arrives. |
REQUEST_TRAILERS |
If included in supportedEvents , the extension is called when the HTTP request trailers arrives. |
RESPONSE_TRAILERS |
If included in supportedEvents , the extension is called when the HTTP response trailers arrives. |