pub struct HttpRequest {Show 15 fields
pub request_method: String,
pub request_url: String,
pub request_size: i64,
pub status: i32,
pub response_size: i64,
pub user_agent: String,
pub remote_ip: String,
pub server_ip: String,
pub referer: String,
pub latency: Option<Duration>,
pub cache_lookup: bool,
pub cache_hit: bool,
pub cache_validated_with_origin_server: bool,
pub cache_fill_bytes: i64,
pub protocol: String,
}Expand description
A common proto for logging HTTP requests. Only contains semantics defined by the HTTP specification. Product-specific logging information MUST be defined in a separate message.
Fields§
§request_method: StringThe request method. Examples: "GET", "HEAD", "PUT", "POST".
request_url: StringThe scheme (http, https), the host name, the path and the query
portion of the URL that was requested.
Example: "<http://example.com/some/info?color=red".>
request_size: i64The size of the HTTP request message in bytes, including the request headers and the request body.
status: i32The response code indicating the status of response. Examples: 200, 404.
response_size: i64The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.
user_agent: StringThe user agent sent by the client. Example:
"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)".
remote_ip: StringThe IP address (IPv4 or IPv6) of the client that issued the HTTP
request. This field can include port information. Examples:
"192.168.1.1", "10.0.0.1:80", "FE80::0202:B3FF:FE1E:8329".
server_ip: StringThe IP address (IPv4 or IPv6) of the origin server that the request was
sent to. This field can include port information. Examples:
"192.168.1.1", "10.0.0.1:80", "FE80::0202:B3FF:FE1E:8329".
referer: StringThe referer URL of the request, as defined in HTTP/1.1 Header Field Definitions.
latency: Option<Duration>The request processing latency on the server, from the time the request was received until the response was sent.
cache_lookup: boolWhether or not a cache lookup was attempted.
cache_hit: boolWhether or not an entity was served from cache (with or without validation).
cache_validated_with_origin_server: boolWhether or not the response was validated with the origin server before
being served from cache. This field is only meaningful if cache_hit is
True.
cache_fill_bytes: i64The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.
protocol: StringProtocol used for the request. Examples: “HTTP/1.1”, “HTTP/2”, “websocket”
Trait Implementations§
Source§impl Clone for HttpRequest
impl Clone for HttpRequest
Source§fn clone(&self) -> HttpRequest
fn clone(&self) -> HttpRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for HttpRequest
impl Debug for HttpRequest
Source§impl Default for HttpRequest
impl Default for HttpRequest
Source§impl Message for HttpRequest
impl Message for HttpRequest
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 PartialEq for HttpRequest
impl PartialEq for HttpRequest
impl StructuralPartialEq for HttpRequest
Auto Trait Implementations§
impl Freeze for HttpRequest
impl RefUnwindSafe for HttpRequest
impl Send for HttpRequest
impl Sync for HttpRequest
impl Unpin for HttpRequest
impl UnwindSafe for HttpRequest
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> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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