pub struct OkHttpResponse {
pub headers: Vec<HeaderValueOption>,
pub headers_to_remove: Vec<String>,
pub dynamic_metadata: Option<Struct>,
pub response_headers_to_add: Vec<HeaderValueOption>,
pub query_parameters_to_set: Vec<QueryParameter>,
pub query_parameters_to_remove: Vec<String>,
}
Expand description
HTTP attributes for an OK response. [#next-free-field: 9]
Fields§
§headers: Vec<HeaderValueOption>
HTTP entity headers in addition to the original request headers. This allows the authorization
service to append, to add or to override headers from the original request before
dispatching it to the upstream. Note that the :ref:append field in HeaderValueOption <envoy_v3_api_field_config.core.v3.HeaderValueOption.append>
defaults to
false when used in this message. By setting the append
field to true
,
the filter will append the correspondent header value to the matched request header.
By leaving append
as false, the filter will either add a new header, or override an existing
one if there is a match.
headers_to_remove: Vec<String>
HTTP entity headers to remove from the original request before dispatching
it to the upstream. This allows the authorization service to act on auth
related headers (like Authorization
), process them, and consume them.
Under this model, the upstream will either receive the request (if it’s
authorized) or not receive it (if it’s not), but will not see headers
containing authorization credentials.
Pseudo headers (such as :authority
, :method
, :path
etc), as well as
the header Host
, may not be removed as that would make the request
malformed. If mentioned in headers_to_remove
these special headers will
be ignored.
When using the HTTP service this must instead be set by the HTTP
authorization service as a comma separated list like so:
x-envoy-auth-headers-to-remove: one-auth-header, another-auth-header
.
dynamic_metadata: Option<Struct>
This field has been deprecated in favor of :ref:CheckResponse.dynamic_metadata <envoy_v3_api_field_service.auth.v3.CheckResponse.dynamic_metadata>
. Until it is removed,
setting this field overrides :ref:CheckResponse.dynamic_metadata <envoy_v3_api_field_service.auth.v3.CheckResponse.dynamic_metadata>
.
response_headers_to_add: Vec<HeaderValueOption>
This field allows the authorization service to send HTTP response headers
to the downstream client on success. Note that the :ref:append field in HeaderValueOption <envoy_v3_api_field_config.core.v3.HeaderValueOption.append>
defaults to false when used in this message.
query_parameters_to_set: Vec<QueryParameter>
This field allows the authorization service to set (and overwrite) query string parameters on the original request before it is sent upstream.
query_parameters_to_remove: Vec<String>
This field allows the authorization service to specify which query parameters should be removed from the original request before it is sent upstream. Each element in this list is a case-sensitive query parameter name to be removed.
Trait Implementations§
Source§impl Clone for OkHttpResponse
impl Clone for OkHttpResponse
Source§fn clone(&self) -> OkHttpResponse
fn clone(&self) -> OkHttpResponse
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for OkHttpResponse
impl Debug for OkHttpResponse
Source§impl Default for OkHttpResponse
impl Default for OkHttpResponse
Source§impl Message for OkHttpResponse
impl Message for OkHttpResponse
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.Source§impl Name for OkHttpResponse
impl Name for OkHttpResponse
Source§const NAME: &'static str = "OkHttpResponse"
const NAME: &'static str = "OkHttpResponse"
Message
.
This name is the same as it appears in the source .proto file, e.g. FooBar
.Source§const PACKAGE: &'static str = "envoy.service.auth.v3"
const PACKAGE: &'static str = "envoy.service.auth.v3"
.
, e.g. google.protobuf
.Source§fn full_name() -> String
fn full_name() -> String
Message
.
It’s prefixed with the package name and names of any parent messages,
e.g. google.rpc.BadRequest.FieldViolation
.
By default, this is the package name followed by the message name.
Fully-qualified names must be unique within a domain of Type URLs.Source§impl PartialEq for OkHttpResponse
impl PartialEq for OkHttpResponse
impl StructuralPartialEq for OkHttpResponse
Auto Trait Implementations§
impl Freeze for OkHttpResponse
impl RefUnwindSafe for OkHttpResponse
impl Send for OkHttpResponse
impl Sync for OkHttpResponse
impl Unpin for OkHttpResponse
impl UnwindSafe for OkHttpResponse
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request