pub enum GrpcRouteFilter {
ExtensionRef {
extension_ref: LocalObjectReference,
},
RequestMirror {
request_mirror: HttpRequestMirrorFilter,
},
RequestHeaderModifier {
request_header_modifier: HttpRequestHeaderFilter,
},
ResponseHeaderModifier {
response_header_modifier: HttpRequestHeaderFilter,
},
}
Expand description
GrpcRouteFilter defines processing steps that must be completed during the request or response lifecycle. GrpcRouteFilters are meant as an extension point to express processing that may be done in Gateway implementations. Some examples include request or response modification, implementing authentication strategies, rate-limiting, and traffic shaping. API guarantee/conformance is defined based on the type of the filter.
Variants§
ExtensionRef
ExtensionRef is an optional, implementation-specific extension to the “filter” behavior. For example, resource “myroutefilter” in group “networking.example.net”). ExtensionRef MUST NOT be used for core and extended filters.
Support: Implementation-specific
This filter can be used multiple times within the same rule.
Fields
extension_ref: LocalObjectReference
RequestMirror
RequestMirror defines a schema for a filter that mirrors requests. Requests are sent to the specified destination, but responses from that destination are ignored.
This filter can be used multiple times within the same rule. Note that not all implementations will be able to support mirroring to multiple backends.
Support: Extended
Fields
request_mirror: HttpRequestMirrorFilter
RequestHeaderModifier
RequestHeaderModifier defines a schema for a filter that modifies request headers.
Support: Core
Fields
request_header_modifier: HttpRequestHeaderFilter
ResponseHeaderModifier
ResponseHeaderModifier defines a schema for a filter that modifies response headers.
Support: Extended
Fields
response_header_modifier: HttpRequestHeaderFilter
Trait Implementations§
Source§impl Clone for GrpcRouteFilter
impl Clone for GrpcRouteFilter
Source§fn clone(&self) -> GrpcRouteFilter
fn clone(&self) -> GrpcRouteFilter
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for GrpcRouteFilter
impl Debug for GrpcRouteFilter
Source§impl<'de> Deserialize<'de> for GrpcRouteFilter
impl<'de> Deserialize<'de> for GrpcRouteFilter
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<GrpcRouteFilter> for HttpRouteFilter
impl From<GrpcRouteFilter> for HttpRouteFilter
Source§fn from(filter: GrpcRouteFilter) -> Self
fn from(filter: GrpcRouteFilter) -> Self
Source§impl JsonSchema for GrpcRouteFilter
impl JsonSchema for GrpcRouteFilter
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read more