transformation

package
v1.18.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2024 License: Apache-2.0 Imports: 23 Imported by: 6

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Extraction_Mode_name = map[int32]string{
		0: "EXTRACT",
		1: "SINGLE_REPLACE",
		2: "REPLACE_ALL",
	}
	Extraction_Mode_value = map[string]int32{
		"EXTRACT":        0,
		"SINGLE_REPLACE": 1,
		"REPLACE_ALL":    2,
	}
)

Enum value maps for Extraction_Mode.

View Source
var (
	TransformationTemplate_RequestBodyParse_name = map[int32]string{
		0: "ParseAsJson",
		1: "DontParse",
	}
	TransformationTemplate_RequestBodyParse_value = map[string]int32{
		"ParseAsJson": 0,
		"DontParse":   1,
	}
)

Enum value maps for TransformationTemplate_RequestBodyParse.

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_transformation_parameters_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_transformation_transformation_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Extraction added in v1.15.0

type Extraction struct {

	// The source of the extraction
	//
	// Types that are assignable to Source:
	//
	//	*Extraction_Header
	//	*Extraction_Body
	Source isExtraction_Source `protobuf_oneof:"source"`
	// The regex field specifies the regular expression used for matching against the source content.
	//   - In EXTRACT mode, the entire source must match the regex. `subgroup` selects the n-th capturing group,
	//     which determines the part of the match that you want to extract. If the regex does not match the source,
	//     the result of the extraction will be an empty value.
	//   - In SINGLE_REPLACE mode, the regex also needs to match the entire source. `subgroup` selects the n-th capturing group
	//     that is replaced with the content of `replacement_text`. If the regex does not match the source, the result
	//     of the replacement will be the source itself.
	//   - In REPLACE_ALL mode, the regex is applied repeatedly to find all occurrences within the source that match.
	//     Each matching occurrence is replaced with the value in `replacement_text`. In this mode, the configuration is rejected
	//     if `subgroup` is set. If the regex does not match the source, the result of the replacement will be the source itself.
	Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty"`
	// If your regex contains capturing groups, use this field to determine the
	// group that you want to select. Defaults to 0.
	// If set in `EXTRACT` and `SINGLE_REPLACE` modes, the subgroup represents the capturing
	// group that you want to extract or replace in the source.
	// The configuration is rejected if you set subgroup to a non-zero value when using thev `REPLACE_ALL` mode.
	Subgroup uint32 `protobuf:"varint,3,opt,name=subgroup,proto3" json:"subgroup,omitempty"`
	// The value `replacement_text` is used to format the substitution for matched sequences in
	// in an input string. This value is only legal in `SINGLE_REPLACE` and `REPLACE_ALL` modes.
	// - In `SINGLE_REPLACE` mode, the `subgroup` selects the n-th capturing group, which represents
	// the value that you want to replace with the string provided in `replacement_text`.
	// - In `REPLACE_ALL` mode, each sequence that matches the specified regex in the input is
	// replaced with the value in`replacement_text`.
	//
	//	The `replacement_text` can include special syntax, such as $1, $2, etc., to refer to
	//
	// capturing groups within the regular expression.
	//
	//	The value that is specified in `replacement_text` is treated as a string, and is passed
	//
	// to `std::regex_replace` as the replacement string.
	//
	//	For more informatino, see https://en.cppreference.com/w/cpp/regex/regex_replace.
	ReplacementText *wrapperspb.StringValue `protobuf:"bytes,5,opt,name=replacement_text,json=replacementText,proto3" json:"replacement_text,omitempty"`
	// The mode of operation for the extraction.
	// Defaults to EXTRACT.
	Mode Extraction_Mode `protobuf:"varint,6,opt,name=mode,proto3,enum=transformation.options.gloo.solo.io.Extraction_Mode" json:"mode,omitempty"`
	// contains filtered or unexported fields
}

Extractions can be used to extract information from the request/response. The extracted information can then be referenced in template fields.

func (*Extraction) Clone added in v1.15.0

func (m *Extraction) Clone() proto.Message

Clone function

func (*Extraction) Descriptor deprecated added in v1.15.0

func (*Extraction) Descriptor() ([]byte, []int)

Deprecated: Use Extraction.ProtoReflect.Descriptor instead.

func (*Extraction) Equal added in v1.15.0

func (m *Extraction) Equal(that interface{}) bool

Equal function

func (*Extraction) GetBody added in v1.15.0

func (x *Extraction) GetBody() *emptypb.Empty

func (*Extraction) GetHeader added in v1.15.0

func (x *Extraction) GetHeader() string

func (*Extraction) GetMode added in v1.15.24

func (x *Extraction) GetMode() Extraction_Mode

func (*Extraction) GetRegex added in v1.15.0

func (x *Extraction) GetRegex() string

func (*Extraction) GetReplacementText added in v1.15.24

func (x *Extraction) GetReplacementText() *wrapperspb.StringValue

func (*Extraction) GetSource added in v1.15.0

func (m *Extraction) GetSource() isExtraction_Source

func (*Extraction) GetSubgroup added in v1.15.0

func (x *Extraction) GetSubgroup() uint32

func (*Extraction) Hash deprecated added in v1.15.0

func (m *Extraction) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*Extraction) HashUnique added in v1.18.0

func (m *Extraction) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*Extraction) ProtoMessage added in v1.15.0

func (*Extraction) ProtoMessage()

func (*Extraction) ProtoReflect added in v1.15.0

func (x *Extraction) ProtoReflect() protoreflect.Message

func (*Extraction) Reset added in v1.15.0

func (x *Extraction) Reset()

func (*Extraction) String added in v1.15.0

func (x *Extraction) String() string

type Extraction_Body added in v1.15.0

type Extraction_Body struct {
	// Extract information from the request/response body
	Body *emptypb.Empty `protobuf:"bytes,4,opt,name=body,proto3,oneof"`
}

type Extraction_Header added in v1.15.0

type Extraction_Header struct {
	// Extract information from headers
	Header string `protobuf:"bytes,1,opt,name=header,proto3,oneof"`
}

type Extraction_Mode added in v1.15.24

type Extraction_Mode int32

The mode of operation for the extraction.

const (
	// Default mode. Extract the content of a specified capturing group. In this mode,
	// `subgroup` selects the n-th capturing group, which represents the value that
	// you want to extract.
	Extraction_EXTRACT Extraction_Mode = 0
	// Replace the content of a specified capturing group. In this mode, `subgroup` selects the
	// n-th capturing group, which represents the value that you want to replace with
	// the string provided in `replacement_text`.
	// Note: `replacement_text` must be set for this mode.
	Extraction_SINGLE_REPLACE Extraction_Mode = 1
	// Replace all regex matches with the value provided in `replacement_text`.
	// Note: `replacement_text` must be set for this mode.
	// Note: The configuration fails if `subgroup` is set to a non-zero value.
	// Note: restrictions on the regex are different for this mode. See the regex field for more details.
	Extraction_REPLACE_ALL Extraction_Mode = 2
)

func (Extraction_Mode) Descriptor added in v1.15.24

func (Extraction_Mode) Enum added in v1.15.24

func (x Extraction_Mode) Enum() *Extraction_Mode

func (Extraction_Mode) EnumDescriptor deprecated added in v1.15.24

func (Extraction_Mode) EnumDescriptor() ([]byte, []int)

Deprecated: Use Extraction_Mode.Descriptor instead.

func (Extraction_Mode) Number added in v1.15.24

func (Extraction_Mode) String added in v1.15.24

func (x Extraction_Mode) String() string

func (Extraction_Mode) Type added in v1.15.24

type HeaderBodyTransform added in v1.15.0

type HeaderBodyTransform struct {

	// When transforming a request, setting this to true will additionally add "queryString",
	// "queryStringParameters", "multiValueQueryStringParameters", "httpMethod", "path",
	// and "multiValueHeaders" to the body
	AddRequestMetadata bool `protobuf:"varint,1,opt,name=add_request_metadata,json=addRequestMetadata,proto3" json:"add_request_metadata,omitempty"`
	// contains filtered or unexported fields
}

func (*HeaderBodyTransform) Clone added in v1.15.0

func (m *HeaderBodyTransform) Clone() proto.Message

Clone function

func (*HeaderBodyTransform) Descriptor deprecated added in v1.15.0

func (*HeaderBodyTransform) Descriptor() ([]byte, []int)

Deprecated: Use HeaderBodyTransform.ProtoReflect.Descriptor instead.

func (*HeaderBodyTransform) Equal added in v1.15.0

func (m *HeaderBodyTransform) Equal(that interface{}) bool

Equal function

func (*HeaderBodyTransform) GetAddRequestMetadata added in v1.15.0

func (x *HeaderBodyTransform) GetAddRequestMetadata() bool

func (*HeaderBodyTransform) Hash deprecated added in v1.15.0

func (m *HeaderBodyTransform) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*HeaderBodyTransform) HashUnique added in v1.18.0

func (m *HeaderBodyTransform) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*HeaderBodyTransform) ProtoMessage added in v1.15.0

func (*HeaderBodyTransform) ProtoMessage()

func (*HeaderBodyTransform) ProtoReflect added in v1.15.0

func (x *HeaderBodyTransform) ProtoReflect() protoreflect.Message

func (*HeaderBodyTransform) Reset added in v1.15.0

func (x *HeaderBodyTransform) Reset()

func (*HeaderBodyTransform) String added in v1.15.0

func (x *HeaderBodyTransform) String() string

type InjaTemplate added in v1.15.0

type InjaTemplate struct {
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// contains filtered or unexported fields
}

Defines an [Inja template](https://github.com/pantor/inja) that will be rendered by Gloo. In addition to the core template functions, the Gloo transformation filter defines the following custom functions: - header(header_name): returns the value of the header with the given name. - extraction(extractor_name): returns the value of the extractor with the given name. - env(env_var_name): returns the value of the environment variable with the given name. - body(): returns the request/response body. - context(): returns the base JSON context (allowing for example to range on a JSON body that is an array). - request_header(header_name): returns the value of the request header with the given name. Use this option when you want to include request header values in response transformations. - base64_encode(string): encodes the input string to base64. - base64_decode(string): decodes the input string from base64. - substring(string, start_pos, substring_len): returns a substring of the input string, starting at `start_pos` and extending for `substring_len` characters. If no `substring_len` is provided or `substring_len` is <= 0, the substring extends to the end of the input string.

func (*InjaTemplate) Clone added in v1.15.0

func (m *InjaTemplate) Clone() proto.Message

Clone function

func (*InjaTemplate) Descriptor deprecated added in v1.15.0

func (*InjaTemplate) Descriptor() ([]byte, []int)

Deprecated: Use InjaTemplate.ProtoReflect.Descriptor instead.

func (*InjaTemplate) Equal added in v1.15.0

func (m *InjaTemplate) Equal(that interface{}) bool

Equal function

func (*InjaTemplate) GetText added in v1.15.0

func (x *InjaTemplate) GetText() string

func (*InjaTemplate) Hash deprecated added in v1.15.0

func (m *InjaTemplate) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*InjaTemplate) HashUnique added in v1.18.0

func (m *InjaTemplate) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*InjaTemplate) ProtoMessage added in v1.15.0

func (*InjaTemplate) ProtoMessage()

func (*InjaTemplate) ProtoReflect added in v1.15.0

func (x *InjaTemplate) ProtoReflect() protoreflect.Message

func (*InjaTemplate) Reset added in v1.15.0

func (x *InjaTemplate) Reset()

func (*InjaTemplate) String added in v1.15.0

func (x *InjaTemplate) String() string

type MergeExtractorsToBody added in v1.15.0

type MergeExtractorsToBody struct {
	// contains filtered or unexported fields
}

func (*MergeExtractorsToBody) Clone added in v1.15.0

func (m *MergeExtractorsToBody) Clone() proto.Message

Clone function

func (*MergeExtractorsToBody) Descriptor deprecated added in v1.15.0

func (*MergeExtractorsToBody) Descriptor() ([]byte, []int)

Deprecated: Use MergeExtractorsToBody.ProtoReflect.Descriptor instead.

func (*MergeExtractorsToBody) Equal added in v1.15.0

func (m *MergeExtractorsToBody) Equal(that interface{}) bool

Equal function

func (*MergeExtractorsToBody) Hash deprecated added in v1.15.0

func (m *MergeExtractorsToBody) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*MergeExtractorsToBody) HashUnique added in v1.18.0

func (m *MergeExtractorsToBody) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*MergeExtractorsToBody) ProtoMessage added in v1.15.0

func (*MergeExtractorsToBody) ProtoMessage()

func (*MergeExtractorsToBody) ProtoReflect added in v1.15.0

func (x *MergeExtractorsToBody) ProtoReflect() protoreflect.Message

func (*MergeExtractorsToBody) Reset added in v1.15.0

func (x *MergeExtractorsToBody) Reset()

func (*MergeExtractorsToBody) String added in v1.15.0

func (x *MergeExtractorsToBody) String() string

type MergeJsonKeys added in v1.18.0

type MergeJsonKeys struct {

	// Map of key name -> template to render into the JSON body.
	// Specified keys which don't exist in the JSON body will be set,
	// keys which do exist will be overriden.
	//
	// For example, given the following JSON body:
	// {
	// "key1": "value1"
	// }
	// and the following MergeJsonKeys:
	// {
	// "key1": "{{ header("header1") }}",
	// "key2": "{{ header("header2") }}"
	// }
	// The resulting JSON body will be:
	// {
	// "key1": "header1_value",
	// "key2": "header2_value"
	// }
	JsonKeys map[string]*MergeJsonKeys_OverridableTemplate `` /* 173-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*MergeJsonKeys) Clone added in v1.18.0

func (m *MergeJsonKeys) Clone() proto.Message

Clone function

func (*MergeJsonKeys) Descriptor deprecated added in v1.18.0

func (*MergeJsonKeys) Descriptor() ([]byte, []int)

Deprecated: Use MergeJsonKeys.ProtoReflect.Descriptor instead.

func (*MergeJsonKeys) Equal added in v1.18.0

func (m *MergeJsonKeys) Equal(that interface{}) bool

Equal function

func (*MergeJsonKeys) GetJsonKeys added in v1.18.0

func (*MergeJsonKeys) Hash deprecated added in v1.18.0

func (m *MergeJsonKeys) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*MergeJsonKeys) HashUnique added in v1.18.0

func (m *MergeJsonKeys) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*MergeJsonKeys) ProtoMessage added in v1.18.0

func (*MergeJsonKeys) ProtoMessage()

func (*MergeJsonKeys) ProtoReflect added in v1.18.0

func (x *MergeJsonKeys) ProtoReflect() protoreflect.Message

func (*MergeJsonKeys) Reset added in v1.18.0

func (x *MergeJsonKeys) Reset()

func (*MergeJsonKeys) String added in v1.18.0

func (x *MergeJsonKeys) String() string

type MergeJsonKeys_OverridableTemplate added in v1.18.0

type MergeJsonKeys_OverridableTemplate struct {

	// Template to render
	Tmpl *InjaTemplate `protobuf:"bytes,1,opt,name=tmpl,proto3" json:"tmpl,omitempty"`
	// If set to true, the template will be set even if the rendered value is empty.
	OverrideEmpty bool `protobuf:"varint,2,opt,name=override_empty,json=overrideEmpty,proto3" json:"override_empty,omitempty"`
	// contains filtered or unexported fields
}

func (*MergeJsonKeys_OverridableTemplate) Clone added in v1.18.0

Clone function

func (*MergeJsonKeys_OverridableTemplate) Descriptor deprecated added in v1.18.0

func (*MergeJsonKeys_OverridableTemplate) Descriptor() ([]byte, []int)

Deprecated: Use MergeJsonKeys_OverridableTemplate.ProtoReflect.Descriptor instead.

func (*MergeJsonKeys_OverridableTemplate) Equal added in v1.18.0

func (m *MergeJsonKeys_OverridableTemplate) Equal(that interface{}) bool

Equal function

func (*MergeJsonKeys_OverridableTemplate) GetOverrideEmpty added in v1.18.0

func (x *MergeJsonKeys_OverridableTemplate) GetOverrideEmpty() bool

func (*MergeJsonKeys_OverridableTemplate) GetTmpl added in v1.18.0

func (*MergeJsonKeys_OverridableTemplate) Hash deprecated added in v1.18.0

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*MergeJsonKeys_OverridableTemplate) HashUnique added in v1.18.0

func (m *MergeJsonKeys_OverridableTemplate) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*MergeJsonKeys_OverridableTemplate) ProtoMessage added in v1.18.0

func (*MergeJsonKeys_OverridableTemplate) ProtoMessage()

func (*MergeJsonKeys_OverridableTemplate) ProtoReflect added in v1.18.0

func (*MergeJsonKeys_OverridableTemplate) Reset added in v1.18.0

func (*MergeJsonKeys_OverridableTemplate) String added in v1.18.0

type Parameters

type Parameters struct {

	// headers that will be used to extract data for processing output templates
	// Gloo will search for parameters by their name in header value strings, enclosed in single
	// curly braces
	// Example:
	//
	//	extensions:
	//	  parameters:
	//	      headers:
	//	        x-user-id: '{userId}'
	Headers map[string]string `` /* 155-byte string literal not displayed */
	// part of the (or the entire) path that will be used extract data for processing output templates
	// Gloo will search for parameters by their name in header value strings, enclosed in single
	// curly braces
	// Example:
	//
	//	extensions:
	//	  parameters:
	//	      path: /users/{ userId }
	Path *wrapperspb.StringValue `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
	// contains filtered or unexported fields
}

func (*Parameters) Clone added in v1.8.24

func (m *Parameters) Clone() proto.Message

Clone function

func (*Parameters) Descriptor deprecated

func (*Parameters) Descriptor() ([]byte, []int)

Deprecated: Use Parameters.ProtoReflect.Descriptor instead.

func (*Parameters) Equal

func (m *Parameters) Equal(that interface{}) bool

Equal function

func (*Parameters) GetHeaders

func (x *Parameters) GetHeaders() map[string]string

func (*Parameters) GetPath

func (x *Parameters) GetPath() *wrapperspb.StringValue

func (*Parameters) Hash deprecated added in v1.2.13

func (m *Parameters) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*Parameters) HashUnique added in v1.18.0

func (m *Parameters) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*Parameters) ProtoMessage

func (*Parameters) ProtoMessage()

func (*Parameters) ProtoReflect added in v1.6.0

func (x *Parameters) ProtoReflect() protoreflect.Message

func (*Parameters) Reset

func (x *Parameters) Reset()

func (*Parameters) String

func (x *Parameters) String() string

type Passthrough added in v1.15.0

type Passthrough struct {
	// contains filtered or unexported fields
}

func (*Passthrough) Clone added in v1.15.0

func (m *Passthrough) Clone() proto.Message

Clone function

func (*Passthrough) Descriptor deprecated added in v1.15.0

func (*Passthrough) Descriptor() ([]byte, []int)

Deprecated: Use Passthrough.ProtoReflect.Descriptor instead.

func (*Passthrough) Equal added in v1.15.0

func (m *Passthrough) Equal(that interface{}) bool

Equal function

func (*Passthrough) Hash deprecated added in v1.15.0

func (m *Passthrough) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*Passthrough) HashUnique added in v1.18.0

func (m *Passthrough) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*Passthrough) ProtoMessage added in v1.15.0

func (*Passthrough) ProtoMessage()

func (*Passthrough) ProtoReflect added in v1.15.0

func (x *Passthrough) ProtoReflect() protoreflect.Message

func (*Passthrough) Reset added in v1.15.0

func (x *Passthrough) Reset()

func (*Passthrough) String added in v1.15.0

func (x *Passthrough) String() string

type RequestMatch added in v1.4.6

type RequestMatch struct {

	// Matches on the request properties.
	Matcher *matchers.Matcher `protobuf:"bytes,1,opt,name=matcher,proto3" json:"matcher,omitempty"`
	// Should we clear the route cache if a transformation was matched.
	ClearRouteCache bool `protobuf:"varint,2,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"`
	// Transformation to apply on the request.
	RequestTransformation *Transformation `protobuf:"bytes,3,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"`
	// Transformation to apply on the response.
	ResponseTransformation *Transformation `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RequestMatch) Clone added in v1.8.24

func (m *RequestMatch) Clone() proto.Message

Clone function

func (*RequestMatch) Descriptor deprecated added in v1.4.6

func (*RequestMatch) Descriptor() ([]byte, []int)

Deprecated: Use RequestMatch.ProtoReflect.Descriptor instead.

func (*RequestMatch) Equal added in v1.4.6

func (m *RequestMatch) Equal(that interface{}) bool

Equal function

func (*RequestMatch) GetClearRouteCache added in v1.4.6

func (x *RequestMatch) GetClearRouteCache() bool

func (*RequestMatch) GetMatcher added in v1.4.6

func (x *RequestMatch) GetMatcher() *matchers.Matcher

func (*RequestMatch) GetRequestTransformation added in v1.4.6

func (x *RequestMatch) GetRequestTransformation() *Transformation

func (*RequestMatch) GetResponseTransformation added in v1.4.6

func (x *RequestMatch) GetResponseTransformation() *Transformation

func (*RequestMatch) Hash deprecated added in v1.4.6

func (m *RequestMatch) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*RequestMatch) HashUnique added in v1.18.0

func (m *RequestMatch) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*RequestMatch) ProtoMessage added in v1.4.6

func (*RequestMatch) ProtoMessage()

func (*RequestMatch) ProtoReflect added in v1.6.0

func (x *RequestMatch) ProtoReflect() protoreflect.Message

func (*RequestMatch) Reset added in v1.4.6

func (x *RequestMatch) Reset()

func (*RequestMatch) String added in v1.4.6

func (x *RequestMatch) String() string

type RequestResponseTransformations added in v1.4.6

type RequestResponseTransformations struct {

	// Transformations to apply on the request. The first request that matches will apply.
	RequestTransforms []*RequestMatch `protobuf:"bytes,1,rep,name=request_transforms,json=requestTransforms,proto3" json:"request_transforms,omitempty"`
	// Transformations to apply on the response. This field is only consulted if there is no
	// response transformation in the matched `request_transforms`. i.e. Only one response transformation
	// will be executed. The first response transformation that matches will
	// apply.
	ResponseTransforms []*ResponseMatch `protobuf:"bytes,2,rep,name=response_transforms,json=responseTransforms,proto3" json:"response_transforms,omitempty"`
	// contains filtered or unexported fields
}

func (*RequestResponseTransformations) Clone added in v1.8.24

Clone function

func (*RequestResponseTransformations) Descriptor deprecated added in v1.4.6

func (*RequestResponseTransformations) Descriptor() ([]byte, []int)

Deprecated: Use RequestResponseTransformations.ProtoReflect.Descriptor instead.

func (*RequestResponseTransformations) Equal added in v1.4.6

func (m *RequestResponseTransformations) Equal(that interface{}) bool

Equal function

func (*RequestResponseTransformations) GetRequestTransforms added in v1.4.6

func (x *RequestResponseTransformations) GetRequestTransforms() []*RequestMatch

func (*RequestResponseTransformations) GetResponseTransforms added in v1.4.6

func (x *RequestResponseTransformations) GetResponseTransforms() []*ResponseMatch

func (*RequestResponseTransformations) Hash deprecated added in v1.4.6

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*RequestResponseTransformations) HashUnique added in v1.18.0

func (m *RequestResponseTransformations) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*RequestResponseTransformations) ProtoMessage added in v1.4.6

func (*RequestResponseTransformations) ProtoMessage()

func (*RequestResponseTransformations) ProtoReflect added in v1.6.0

func (*RequestResponseTransformations) Reset added in v1.4.6

func (x *RequestResponseTransformations) Reset()

func (*RequestResponseTransformations) String added in v1.4.6

type ResponseMatch added in v1.4.6

type ResponseMatch struct {

	// Response headers to match on.
	Matchers []*matchers.HeaderMatcher `protobuf:"bytes,1,rep,name=matchers,proto3" json:"matchers,omitempty"`
	// Response code detail to match on. To see the response code details for your usecase,
	// you can use the envoy access log %RESPONSE_CODE_DETAILS% formatter to log it.
	ResponseCodeDetails string `protobuf:"bytes,2,opt,name=response_code_details,json=responseCodeDetails,proto3" json:"response_code_details,omitempty"`
	// Transformation to apply on the response.
	ResponseTransformation *Transformation `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*ResponseMatch) Clone added in v1.8.24

func (m *ResponseMatch) Clone() proto.Message

Clone function

func (*ResponseMatch) Descriptor deprecated added in v1.4.6

func (*ResponseMatch) Descriptor() ([]byte, []int)

Deprecated: Use ResponseMatch.ProtoReflect.Descriptor instead.

func (*ResponseMatch) Equal added in v1.4.6

func (m *ResponseMatch) Equal(that interface{}) bool

Equal function

func (*ResponseMatch) GetMatchers added in v1.4.6

func (x *ResponseMatch) GetMatchers() []*matchers.HeaderMatcher

func (*ResponseMatch) GetResponseCodeDetails added in v1.4.6

func (x *ResponseMatch) GetResponseCodeDetails() string

func (*ResponseMatch) GetResponseTransformation added in v1.4.6

func (x *ResponseMatch) GetResponseTransformation() *Transformation

func (*ResponseMatch) Hash deprecated added in v1.4.6

func (m *ResponseMatch) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*ResponseMatch) HashUnique added in v1.18.0

func (m *ResponseMatch) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*ResponseMatch) ProtoMessage added in v1.4.6

func (*ResponseMatch) ProtoMessage()

func (*ResponseMatch) ProtoReflect added in v1.6.0

func (x *ResponseMatch) ProtoReflect() protoreflect.Message

func (*ResponseMatch) Reset added in v1.4.6

func (x *ResponseMatch) Reset()

func (*ResponseMatch) String added in v1.4.6

func (x *ResponseMatch) String() string

type Transformation added in v1.7.7

type Transformation struct {

	// The type of transformation to apply.
	//
	// Types that are assignable to TransformationType:
	//
	//	*Transformation_TransformationTemplate
	//	*Transformation_HeaderBodyTransform
	//	*Transformation_XsltTransformation
	TransformationType isTransformation_TransformationType `protobuf_oneof:"transformation_type"`
	// When enabled, log request/response body and headers before and after this transformation is applied.
	LogRequestResponseInfo bool `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

User-facing API for transformation.

func (*Transformation) Clone added in v1.8.24

func (m *Transformation) Clone() proto.Message

Clone function

func (*Transformation) Descriptor deprecated added in v1.7.7

func (*Transformation) Descriptor() ([]byte, []int)

Deprecated: Use Transformation.ProtoReflect.Descriptor instead.

func (*Transformation) Equal added in v1.7.7

func (m *Transformation) Equal(that interface{}) bool

Equal function

func (*Transformation) GetHeaderBodyTransform added in v1.7.7

func (x *Transformation) GetHeaderBodyTransform() *HeaderBodyTransform

func (*Transformation) GetLogRequestResponseInfo added in v1.14.8

func (x *Transformation) GetLogRequestResponseInfo() bool

func (*Transformation) GetTransformationTemplate added in v1.7.7

func (x *Transformation) GetTransformationTemplate() *TransformationTemplate

func (*Transformation) GetTransformationType added in v1.7.7

func (m *Transformation) GetTransformationType() isTransformation_TransformationType

func (*Transformation) GetXsltTransformation added in v1.7.7

func (x *Transformation) GetXsltTransformation() *xslt.XsltTransformation

func (*Transformation) Hash deprecated added in v1.7.7

func (m *Transformation) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*Transformation) HashUnique added in v1.18.0

func (m *Transformation) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*Transformation) ProtoMessage added in v1.7.7

func (*Transformation) ProtoMessage()

func (*Transformation) ProtoReflect added in v1.7.7

func (x *Transformation) ProtoReflect() protoreflect.Message

func (*Transformation) Reset added in v1.7.7

func (x *Transformation) Reset()

func (*Transformation) String added in v1.7.7

func (x *Transformation) String() string

type TransformationStages added in v1.4.6

type TransformationStages struct {

	// Early transformations happen before most other options (Like Auth and Rate Limit).
	Early *RequestResponseTransformations `protobuf:"bytes,1,opt,name=early,proto3" json:"early,omitempty"`
	// Regular transformations happen after Auth and Rate limit decisions has been made.
	Regular *RequestResponseTransformations `protobuf:"bytes,2,opt,name=regular,proto3" json:"regular,omitempty"`
	// Post routing transformations happen during the router filter chain. This is important for a number of reasons
	// 1. Retries re-trigger this filter, which might impact performance.
	// 2. It is the only point where endpoint metadata is available.
	// 3. `clear_route_cache` does NOT work in this stage as the routing decision is already made.
	// Enterprise only
	PostRouting *RequestResponseTransformations `protobuf:"bytes,6,opt,name=post_routing,json=postRouting,proto3" json:"post_routing,omitempty"`
	// Inherit transformation config from parent. This has no affect on VirtualHost level transformations.
	// If a RouteTable or Route wants to inherit transformations from it's parent RouteTable or VirtualHost,
	// this should be set to true, else transformations from parents will not be inherited.
	// Transformations are ordered so the child's transformation gets priority, so in the case where a child
	// and parent's transformation matchers are the same, only the child's transformation will run because
	// only one transformation will run per stage.
	// Defaults to false.
	InheritTransformation bool `protobuf:"varint,3,opt,name=inherit_transformation,json=inheritTransformation,proto3" json:"inherit_transformation,omitempty"`
	// When enabled, log request/response body and headers before and after all transformations defined here are applied.\
	// This overrides the log_request_response_info field in the Transformation message.
	LogRequestResponseInfo *wrapperspb.BoolValue `` /* 131-byte string literal not displayed */
	// Use this field to set Inja behavior when rendering strings which contain
	// characters that would need to be escaped to be valid JSON. Note that this
	// sets the behavior for all staged transformations configured here. This setting
	// can be overridden per-transformation using the field `escape_characters` on
	// the TransformationTemplate.
	EscapeCharacters *wrapperspb.BoolValue `protobuf:"bytes,5,opt,name=escape_characters,json=escapeCharacters,proto3" json:"escape_characters,omitempty"`
	// contains filtered or unexported fields
}

func (*TransformationStages) Clone added in v1.8.24

func (m *TransformationStages) Clone() proto.Message

Clone function

func (*TransformationStages) Descriptor deprecated added in v1.4.6

func (*TransformationStages) Descriptor() ([]byte, []int)

Deprecated: Use TransformationStages.ProtoReflect.Descriptor instead.

func (*TransformationStages) Equal added in v1.4.6

func (m *TransformationStages) Equal(that interface{}) bool

Equal function

func (*TransformationStages) GetEarly added in v1.4.6

func (*TransformationStages) GetEscapeCharacters added in v1.15.0

func (x *TransformationStages) GetEscapeCharacters() *wrapperspb.BoolValue

func (*TransformationStages) GetInheritTransformation added in v1.7.7

func (x *TransformationStages) GetInheritTransformation() bool

func (*TransformationStages) GetLogRequestResponseInfo added in v1.14.8

func (x *TransformationStages) GetLogRequestResponseInfo() *wrapperspb.BoolValue

func (*TransformationStages) GetPostRouting added in v1.17.0

func (*TransformationStages) GetRegular added in v1.4.6

func (*TransformationStages) Hash deprecated added in v1.4.6

func (m *TransformationStages) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*TransformationStages) HashUnique added in v1.18.0

func (m *TransformationStages) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*TransformationStages) ProtoMessage added in v1.4.6

func (*TransformationStages) ProtoMessage()

func (*TransformationStages) ProtoReflect added in v1.6.0

func (x *TransformationStages) ProtoReflect() protoreflect.Message

func (*TransformationStages) Reset added in v1.4.6

func (x *TransformationStages) Reset()

func (*TransformationStages) String added in v1.4.6

func (x *TransformationStages) String() string

type TransformationTemplate added in v1.15.0

type TransformationTemplate struct {

	// If set to true, use JSON pointer notation (e.g. "time/start") instead of
	// dot notation (e.g. "time.start") to access JSON elements. Defaults to
	// false.
	//
	// Please note that, if set to 'true', you will need to use the `extraction`
	// function to access extractors in the template (e.g. '{{
	// extraction("my_extractor") }}'); if the default value of 'false' is used,
	// extractors will simply be available by their name (e.g. '{{ my_extractor
	// }}').
	AdvancedTemplates bool `protobuf:"varint,1,opt,name=advanced_templates,json=advancedTemplates,proto3" json:"advanced_templates,omitempty"`
	// Use this attribute to extract information from the request. It consists of
	// a map of strings to extractors. The extractor will defines which
	// information will be extracted, while the string key will provide the
	// extractor with a name. You can reference extractors by their name in
	// templates, e.g. "{{ my-extractor }}" will render to the value of the
	// "my-extractor" extractor.
	Extractors map[string]*Extraction `` /* 161-byte string literal not displayed */
	// Use this attribute to transform request/response headers. It consists of a
	// map of strings to templates. The string key determines the name of the
	// resulting header, the rendered template will determine the value. Any existing
	// headers with the same header name will be replaced by the transformed header.
	// If a header name is included in `headers` and `headers_to_append`, it will first
	// be replaced the template in `headers`, then additional header values will be appended
	// by the templates defined in `headers_to_append`.
	// For example, the following header transformation configuration:
	//
	// “`yaml
	//
	//	headers:
	//	  x-header-one: {"text": "first {{inja}} template"}
	//	  x-header-one: {"text": "second {{inja}} template"}
	//	headersToAppend:
	//	  - key: x-header-one
	//	    value: {"text": "first appended {{inja}} template"}
	//	  - key: x-header-one
	//	    value: {"text": "second appended {{inja}} template"}
	//
	// “`
	// will result in the following headers on the HTTP message:
	//
	// “`
	// x-header-one: first inja template
	// x-header-one: first appended inja template
	// x-header-one: second appended inja template
	// “`
	Headers map[string]*InjaTemplate `` /* 155-byte string literal not displayed */
	// Use this attribute to transform request/response headers. It consists of
	// an array of string/template objects. Use this attribute to define multiple
	// templates for a single header. Header template(s) defined here will be appended to any
	// existing headers with the same header name, not replace existing ones.
	// See `headers` documentation to see an example of usage.
	HeadersToAppend []*TransformationTemplate_HeaderToAppend `protobuf:"bytes,10,rep,name=headers_to_append,json=headersToAppend,proto3" json:"headers_to_append,omitempty"`
	// Attribute to remove headers from requests. If a header is present multiple
	// times, all instances of the header will be removed.
	HeadersToRemove []string `protobuf:"bytes,11,rep,name=headers_to_remove,json=headersToRemove,proto3" json:"headers_to_remove,omitempty"`
	// Determines the type of transformation to apply to the request/response body
	//
	// Types that are assignable to BodyTransformation:
	//
	//	*TransformationTemplate_Body
	//	*TransformationTemplate_Passthrough
	//	*TransformationTemplate_MergeExtractorsToBody
	//	*TransformationTemplate_MergeJsonKeys
	BodyTransformation isTransformationTemplate_BodyTransformation `protobuf_oneof:"body_transformation"`
	// Determines how the body will be parsed. Defaults to ParseAsJson
	ParseBodyBehavior TransformationTemplate_RequestBodyParse `` /* 196-byte string literal not displayed */
	// If set to true, Envoy will not throw an exception in case the body parsing
	// fails.
	IgnoreErrorOnParse bool `protobuf:"varint,8,opt,name=ignore_error_on_parse,json=ignoreErrorOnParse,proto3" json:"ignore_error_on_parse,omitempty"`
	// Use this field to set Dynamic Metadata.
	DynamicMetadataValues []*TransformationTemplate_DynamicMetadataValue `` /* 126-byte string literal not displayed */
	// Use this field to set Inja behavior when rendering strings which contain
	// characters that would need to be escaped to be valid JSON. Note that this
	// sets the behavior for the entire transformation. Use raw_strings function
	// for fine-grained control within a template.
	EscapeCharacters *wrapperspb.BoolValue `protobuf:"bytes,12,opt,name=escape_characters,json=escapeCharacters,proto3" json:"escape_characters,omitempty"`
	// Use this field to modify the span of the trace. This field can only be
	// applied on requestTransformations. Attempting to set this on a
	// responseTransformation will result in an error.
	SpanTransformer *TransformationTemplate_SpanTransformer `protobuf:"bytes,15,opt,name=span_transformer,json=spanTransformer,proto3" json:"span_transformer,omitempty"`
	// contains filtered or unexported fields
}

Defines a transformation template.

func (*TransformationTemplate) Clone added in v1.15.0

Clone function

func (*TransformationTemplate) Descriptor deprecated added in v1.15.0

func (*TransformationTemplate) Descriptor() ([]byte, []int)

Deprecated: Use TransformationTemplate.ProtoReflect.Descriptor instead.

func (*TransformationTemplate) Equal added in v1.15.0

func (m *TransformationTemplate) Equal(that interface{}) bool

Equal function

func (*TransformationTemplate) GetAdvancedTemplates added in v1.15.0

func (x *TransformationTemplate) GetAdvancedTemplates() bool

func (*TransformationTemplate) GetBody added in v1.15.0

func (x *TransformationTemplate) GetBody() *InjaTemplate

func (*TransformationTemplate) GetBodyTransformation added in v1.15.0

func (m *TransformationTemplate) GetBodyTransformation() isTransformationTemplate_BodyTransformation

func (*TransformationTemplate) GetDynamicMetadataValues added in v1.15.0

func (*TransformationTemplate) GetEscapeCharacters added in v1.15.0

func (x *TransformationTemplate) GetEscapeCharacters() *wrapperspb.BoolValue

func (*TransformationTemplate) GetExtractors added in v1.15.0

func (x *TransformationTemplate) GetExtractors() map[string]*Extraction

func (*TransformationTemplate) GetHeaders added in v1.15.0

func (x *TransformationTemplate) GetHeaders() map[string]*InjaTemplate

func (*TransformationTemplate) GetHeadersToAppend added in v1.15.0

func (*TransformationTemplate) GetHeadersToRemove added in v1.15.0

func (x *TransformationTemplate) GetHeadersToRemove() []string

func (*TransformationTemplate) GetIgnoreErrorOnParse added in v1.15.0

func (x *TransformationTemplate) GetIgnoreErrorOnParse() bool

func (*TransformationTemplate) GetMergeExtractorsToBody added in v1.15.0

func (x *TransformationTemplate) GetMergeExtractorsToBody() *MergeExtractorsToBody

func (*TransformationTemplate) GetMergeJsonKeys added in v1.18.0

func (x *TransformationTemplate) GetMergeJsonKeys() *MergeJsonKeys

func (*TransformationTemplate) GetParseBodyBehavior added in v1.15.0

func (*TransformationTemplate) GetPassthrough added in v1.15.0

func (x *TransformationTemplate) GetPassthrough() *Passthrough

func (*TransformationTemplate) GetSpanTransformer added in v1.17.16

func (*TransformationTemplate) Hash deprecated added in v1.15.0

func (m *TransformationTemplate) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*TransformationTemplate) HashUnique added in v1.18.0

func (m *TransformationTemplate) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*TransformationTemplate) ProtoMessage added in v1.15.0

func (*TransformationTemplate) ProtoMessage()

func (*TransformationTemplate) ProtoReflect added in v1.15.0

func (x *TransformationTemplate) ProtoReflect() protoreflect.Message

func (*TransformationTemplate) Reset added in v1.15.0

func (x *TransformationTemplate) Reset()

func (*TransformationTemplate) String added in v1.15.0

func (x *TransformationTemplate) String() string

type TransformationTemplate_Body added in v1.15.0

type TransformationTemplate_Body struct {
	// Apply a template to the body
	Body *InjaTemplate `protobuf:"bytes,4,opt,name=body,proto3,oneof"`
}

type TransformationTemplate_DynamicMetadataValue added in v1.15.0

type TransformationTemplate_DynamicMetadataValue struct {

	// The metadata namespace. Defaults to the filter namespace.
	MetadataNamespace string `protobuf:"bytes,1,opt,name=metadata_namespace,json=metadataNamespace,proto3" json:"metadata_namespace,omitempty"`
	// The metadata key.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// A template that determines the metadata value.
	Value *InjaTemplate `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
	// Instruct the filter to parse the rendered value as a proto Struct message
	// before setting it as the metadata value.
	JsonToProto bool `protobuf:"varint,4,opt,name=json_to_proto,json=jsonToProto,proto3" json:"json_to_proto,omitempty"`
	// contains filtered or unexported fields
}

Defines an [Envoy Dynamic Metadata](https://www.envoyproxy.io/docs/envoy/latest/configuration/advanced/well_known_dynamic_metadata) entry.

func (*TransformationTemplate_DynamicMetadataValue) Clone added in v1.15.0

Clone function

func (*TransformationTemplate_DynamicMetadataValue) Descriptor deprecated added in v1.15.0

Deprecated: Use TransformationTemplate_DynamicMetadataValue.ProtoReflect.Descriptor instead.

func (*TransformationTemplate_DynamicMetadataValue) Equal added in v1.15.0

func (m *TransformationTemplate_DynamicMetadataValue) Equal(that interface{}) bool

Equal function

func (*TransformationTemplate_DynamicMetadataValue) GetJsonToProto added in v1.17.0

func (*TransformationTemplate_DynamicMetadataValue) GetKey added in v1.15.0

func (*TransformationTemplate_DynamicMetadataValue) GetMetadataNamespace added in v1.15.0

func (x *TransformationTemplate_DynamicMetadataValue) GetMetadataNamespace() string

func (*TransformationTemplate_DynamicMetadataValue) GetValue added in v1.15.0

func (*TransformationTemplate_DynamicMetadataValue) Hash deprecated added in v1.15.0

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*TransformationTemplate_DynamicMetadataValue) HashUnique added in v1.18.0

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*TransformationTemplate_DynamicMetadataValue) ProtoMessage added in v1.15.0

func (*TransformationTemplate_DynamicMetadataValue) ProtoReflect added in v1.15.0

func (*TransformationTemplate_DynamicMetadataValue) Reset added in v1.15.0

func (*TransformationTemplate_DynamicMetadataValue) String added in v1.15.0

type TransformationTemplate_HeaderToAppend added in v1.15.0

type TransformationTemplate_HeaderToAppend struct {

	// Header name
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
	// Apply a template to the header value
	Value *InjaTemplate `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Defines a header-template pair to be used in `headers_to_append`

func (*TransformationTemplate_HeaderToAppend) Clone added in v1.15.0

Clone function

func (*TransformationTemplate_HeaderToAppend) Descriptor deprecated added in v1.15.0

func (*TransformationTemplate_HeaderToAppend) Descriptor() ([]byte, []int)

Deprecated: Use TransformationTemplate_HeaderToAppend.ProtoReflect.Descriptor instead.

func (*TransformationTemplate_HeaderToAppend) Equal added in v1.15.0

func (m *TransformationTemplate_HeaderToAppend) Equal(that interface{}) bool

Equal function

func (*TransformationTemplate_HeaderToAppend) GetKey added in v1.15.0

func (*TransformationTemplate_HeaderToAppend) GetValue added in v1.15.0

func (*TransformationTemplate_HeaderToAppend) Hash deprecated added in v1.15.0

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*TransformationTemplate_HeaderToAppend) HashUnique added in v1.18.0

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*TransformationTemplate_HeaderToAppend) ProtoMessage added in v1.15.0

func (*TransformationTemplate_HeaderToAppend) ProtoMessage()

func (*TransformationTemplate_HeaderToAppend) ProtoReflect added in v1.15.0

func (*TransformationTemplate_HeaderToAppend) Reset added in v1.15.0

func (*TransformationTemplate_HeaderToAppend) String added in v1.15.0

type TransformationTemplate_MergeExtractorsToBody added in v1.15.0

type TransformationTemplate_MergeExtractorsToBody struct {
	// Merge all defined extractors to the request/response body.
	// If you want to nest elements inside the body, use dot separator in the
	// extractor name.
	MergeExtractorsToBody *MergeExtractorsToBody `protobuf:"bytes,6,opt,name=merge_extractors_to_body,json=mergeExtractorsToBody,proto3,oneof"`
}

type TransformationTemplate_MergeJsonKeys added in v1.18.0

type TransformationTemplate_MergeJsonKeys struct {
	// A set of key-value pairs to merge into the JSON body.
	// Each value will be rendered separately, and then placed into the JSON body at
	// the specified key.
	// There are a number of important caveats to using this feature:
	// * This can only be used when the body is parsed as JSON.
	// * This option does NOT work with advanced templates currently
	MergeJsonKeys *MergeJsonKeys `protobuf:"bytes,13,opt,name=merge_json_keys,json=mergeJsonKeys,proto3,oneof"`
}

type TransformationTemplate_Passthrough added in v1.15.0

type TransformationTemplate_Passthrough struct {
	// This will cause the transformation filter not to buffer the body.
	// Use this setting if the response body is large and you don't need to
	// transform nor extract information from it.
	Passthrough *Passthrough `protobuf:"bytes,5,opt,name=passthrough,proto3,oneof"`
}

type TransformationTemplate_RequestBodyParse added in v1.15.0

type TransformationTemplate_RequestBodyParse int32

Determines how the body will be parsed.

const (
	// Will attempt to parse the request/response body as JSON
	TransformationTemplate_ParseAsJson TransformationTemplate_RequestBodyParse = 0
	// The request/response body will be treated as plain text
	TransformationTemplate_DontParse TransformationTemplate_RequestBodyParse = 1
)

func (TransformationTemplate_RequestBodyParse) Descriptor added in v1.15.0

func (TransformationTemplate_RequestBodyParse) Enum added in v1.15.0

func (TransformationTemplate_RequestBodyParse) EnumDescriptor deprecated added in v1.15.0

func (TransformationTemplate_RequestBodyParse) EnumDescriptor() ([]byte, []int)

Deprecated: Use TransformationTemplate_RequestBodyParse.Descriptor instead.

func (TransformationTemplate_RequestBodyParse) Number added in v1.15.0

func (TransformationTemplate_RequestBodyParse) String added in v1.15.0

func (TransformationTemplate_RequestBodyParse) Type added in v1.15.0

type TransformationTemplate_SpanTransformer added in v1.17.16

type TransformationTemplate_SpanTransformer struct {

	// A template that sets the span name. For example, to set the span name to
	// the value of the host header, you can set this value to
	// `'{{header("Host")}}'`
	Name *InjaTemplate `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

Definitions for span transformations for tracing purposes.

func (*TransformationTemplate_SpanTransformer) Clone added in v1.17.16

Clone function

func (*TransformationTemplate_SpanTransformer) Descriptor deprecated added in v1.17.16

func (*TransformationTemplate_SpanTransformer) Descriptor() ([]byte, []int)

Deprecated: Use TransformationTemplate_SpanTransformer.ProtoReflect.Descriptor instead.

func (*TransformationTemplate_SpanTransformer) Equal added in v1.17.16

func (m *TransformationTemplate_SpanTransformer) Equal(that interface{}) bool

Equal function

func (*TransformationTemplate_SpanTransformer) GetName added in v1.17.16

func (*TransformationTemplate_SpanTransformer) Hash deprecated added in v1.17.16

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*TransformationTemplate_SpanTransformer) HashUnique added in v1.18.0

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*TransformationTemplate_SpanTransformer) ProtoMessage added in v1.17.16

func (*TransformationTemplate_SpanTransformer) ProtoReflect added in v1.17.16

func (*TransformationTemplate_SpanTransformer) Reset added in v1.17.16

func (*TransformationTemplate_SpanTransformer) String added in v1.17.16

type Transformation_HeaderBodyTransform added in v1.7.7

type Transformation_HeaderBodyTransform struct {
	// This type of transformation will make all the headers available in the
	// response body. The resulting JSON body will consist of two attributes:
	// 'headers', containing the headers, and 'body', containing the original
	// body.
	HeaderBodyTransform *HeaderBodyTransform `protobuf:"bytes,2,opt,name=header_body_transform,json=headerBodyTransform,proto3,oneof"`
}

type Transformation_TransformationTemplate added in v1.7.7

type Transformation_TransformationTemplate struct {
	// Apply transformation templates.
	TransformationTemplate *TransformationTemplate `protobuf:"bytes,1,opt,name=transformation_template,json=transformationTemplate,proto3,oneof"`
}

type Transformation_XsltTransformation added in v1.7.7

type Transformation_XsltTransformation struct {
	// (Enterprise Only): Xslt Transformation
	XsltTransformation *xslt.XsltTransformation `protobuf:"bytes,3,opt,name=xslt_transformation,json=xsltTransformation,proto3,oneof"`
}

type Transformations added in v1.4.6

type Transformations struct {

	// Apply a transformation to requests.
	RequestTransformation *Transformation `protobuf:"bytes,1,opt,name=request_transformation,json=requestTransformation,proto3" json:"request_transformation,omitempty"`
	// Clear the route cache if the request transformation was applied.
	ClearRouteCache bool `protobuf:"varint,3,opt,name=clear_route_cache,json=clearRouteCache,proto3" json:"clear_route_cache,omitempty"`
	// Apply a transformation to responses.
	ResponseTransformation *Transformation `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Transformations) Clone added in v1.8.24

func (m *Transformations) Clone() proto.Message

Clone function

func (*Transformations) Descriptor deprecated added in v1.4.6

func (*Transformations) Descriptor() ([]byte, []int)

Deprecated: Use Transformations.ProtoReflect.Descriptor instead.

func (*Transformations) Equal added in v1.4.6

func (m *Transformations) Equal(that interface{}) bool

Equal function

func (*Transformations) GetClearRouteCache added in v1.4.6

func (x *Transformations) GetClearRouteCache() bool

func (*Transformations) GetRequestTransformation added in v1.4.6

func (x *Transformations) GetRequestTransformation() *Transformation

func (*Transformations) GetResponseTransformation added in v1.4.6

func (x *Transformations) GetResponseTransformation() *Transformation

func (*Transformations) Hash deprecated added in v1.4.6

func (m *Transformations) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*Transformations) HashUnique added in v1.18.0

func (m *Transformations) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*Transformations) ProtoMessage added in v1.4.6

func (*Transformations) ProtoMessage()

func (*Transformations) ProtoReflect added in v1.6.0

func (x *Transformations) ProtoReflect() protoreflect.Message

func (*Transformations) Reset added in v1.4.6

func (x *Transformations) Reset()

func (*Transformations) String added in v1.4.6

func (x *Transformations) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL