pub struct HttpRequest {Show 15 fields
pub cache_fill_bytes: Option<i64>,
pub cache_hit: Option<bool>,
pub cache_lookup: Option<bool>,
pub cache_validated_with_origin_server: Option<bool>,
pub latency: Option<Duration>,
pub protocol: Option<String>,
pub referer: Option<String>,
pub remote_ip: Option<String>,
pub request_method: Option<String>,
pub request_size: Option<i64>,
pub request_url: Option<String>,
pub response_size: Option<i64>,
pub server_ip: Option<String>,
pub status: Option<i32>,
pub user_agent: Option<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.
This type is not used in any activity, and only used as part of another schema.
Fields§
§cache_fill_bytes: Option<i64>
The number of HTTP response bytes inserted into cache. Set only when a cache fill was attempted.
cache_hit: Option<bool>
Whether or not an entity was served from cache (with or without validation).
cache_lookup: Option<bool>
Whether or not a cache lookup was attempted.
cache_validated_with_origin_server: Option<bool>
Whether 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.
latency: Option<Duration>
The request processing latency on the server, from the time the request was received until the response was sent.
protocol: Option<String>
Protocol used for the request. Examples: “HTTP/1.1”, “HTTP/2”, “websocket”
referer: Option<String>
The referer URL of the request, as defined in HTTP/1.1 Header Field Definitions (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html).
remote_ip: Option<String>
The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: “192.168.1.1”, “FE80::0202:B3FF:FE1E:8329”.
request_method: Option<String>
The request method. Examples: “GET”, “HEAD”, “PUT”, “POST”.
request_size: Option<i64>
The size of the HTTP request message in bytes, including the request headers and the request body.
request_url: Option<String>
The 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”.
response_size: Option<i64>
The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body.
server_ip: Option<String>
The IP address (IPv4 or IPv6) of the origin server that the request was sent to.
status: Option<i32>
The response code indicating the status of response. Examples: 200, 404.
user_agent: Option<String>
The user agent sent by the client. Example: “Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)”.
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§fn default() -> HttpRequest
fn default() -> HttpRequest
Source§impl<'de> Deserialize<'de> for HttpRequest
impl<'de> Deserialize<'de> for HttpRequest
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 Serialize for HttpRequest
impl Serialize for HttpRequest
impl Part 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> 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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more