#[non_exhaustive]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,
/* private fields */
}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 (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.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 the 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. Examples: "192.168.1.1", "FE80::0202:B3FF:FE1E:8329".
server_ip: StringThe IP address (IPv4 or IPv6) of the origin server that the request was sent to.
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”
Implementations§
Source§impl HttpRequest
impl HttpRequest
pub fn new() -> Self
Sourcepub fn set_request_method<T: Into<String>>(self, v: T) -> Self
pub fn set_request_method<T: Into<String>>(self, v: T) -> Self
Sets the value of request_method.
Sourcepub fn set_request_url<T: Into<String>>(self, v: T) -> Self
pub fn set_request_url<T: Into<String>>(self, v: T) -> Self
Sets the value of request_url.
Sourcepub fn set_request_size<T: Into<i64>>(self, v: T) -> Self
pub fn set_request_size<T: Into<i64>>(self, v: T) -> Self
Sets the value of request_size.
Sourcepub fn set_status<T: Into<i32>>(self, v: T) -> Self
pub fn set_status<T: Into<i32>>(self, v: T) -> Self
Sets the value of status.
Sourcepub fn set_response_size<T: Into<i64>>(self, v: T) -> Self
pub fn set_response_size<T: Into<i64>>(self, v: T) -> Self
Sets the value of response_size.
Sourcepub fn set_user_agent<T: Into<String>>(self, v: T) -> Self
pub fn set_user_agent<T: Into<String>>(self, v: T) -> Self
Sets the value of user_agent.
Sourcepub fn set_remote_ip<T: Into<String>>(self, v: T) -> Self
pub fn set_remote_ip<T: Into<String>>(self, v: T) -> Self
Sets the value of remote_ip.
Sourcepub fn set_server_ip<T: Into<String>>(self, v: T) -> Self
pub fn set_server_ip<T: Into<String>>(self, v: T) -> Self
Sets the value of server_ip.
Sourcepub fn set_referer<T: Into<String>>(self, v: T) -> Self
pub fn set_referer<T: Into<String>>(self, v: T) -> Self
Sets the value of referer.
Sourcepub fn set_latency<T>(self, v: T) -> Self
pub fn set_latency<T>(self, v: T) -> Self
Sets the value of latency.
Sourcepub fn set_or_clear_latency<T>(self, v: Option<T>) -> Self
pub fn set_or_clear_latency<T>(self, v: Option<T>) -> Self
Sets or clears the value of latency.
Sourcepub fn set_cache_lookup<T: Into<bool>>(self, v: T) -> Self
pub fn set_cache_lookup<T: Into<bool>>(self, v: T) -> Self
Sets the value of cache_lookup.
Sourcepub fn set_cache_hit<T: Into<bool>>(self, v: T) -> Self
pub fn set_cache_hit<T: Into<bool>>(self, v: T) -> Self
Sets the value of cache_hit.
Sourcepub fn set_cache_validated_with_origin_server<T: Into<bool>>(self, v: T) -> Self
pub fn set_cache_validated_with_origin_server<T: Into<bool>>(self, v: T) -> Self
Sets the value of cache_validated_with_origin_server.
Sourcepub fn set_cache_fill_bytes<T: Into<i64>>(self, v: T) -> Self
pub fn set_cache_fill_bytes<T: Into<i64>>(self, v: T) -> Self
Sets the value of cache_fill_bytes.
Sourcepub fn set_protocol<T: Into<String>>(self, v: T) -> Self
pub fn set_protocol<T: Into<String>>(self, v: T) -> Self
Sets the value of protocol.
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 more