Class: Google::Cloud::Logging::Entry::HttpRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/google/cloud/logging/entry/http_request.rb

Overview

# Http Request

HTTP request data associated with a log entry.

See also #http_request.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeHttpRequest

Returns a new instance of HttpRequest.



30
31
# File 'lib/google/cloud/logging/entry/http_request.rb', line 30

def initialize
end

Instance Attribute Details

#cache_hitObject

Whether an entity was served from cache (with or without validation). (Boolean)



81
82
83
# File 'lib/google/cloud/logging/entry/http_request.rb', line 81

def cache_hit
  @cache_hit
end

#methodObject

The request method. Examples: ‘“GET”`, `“HEAD”`, `“PUT”`, `“POST”`. (String)



36
37
38
# File 'lib/google/cloud/logging/entry/http_request.rb', line 36

def method
  @method
end

#refererObject

The referer URL of the request, as defined in [HTTP/1.1 Header Field Definitions](www.w3.org/Protocols/rfc2616/rfc2616-sec14.html). (String)



76
77
78
# File 'lib/google/cloud/logging/entry/http_request.rb', line 76

def referer
  @referer
end

#remote_ipObject

The IP address (IPv4 or IPv6) of the client that issued the HTTP request. Examples: ‘“192.168.1.1”`, `“FE80::0202:B3FF:FE1E:8329”`. (String)



70
71
72
# File 'lib/google/cloud/logging/entry/http_request.rb', line 70

def remote_ip
  @remote_ip
end

#response_sizeObject

The size of the HTTP response message sent back to the client, in bytes, including the response headers and the response body. (Integer)



58
59
60
# File 'lib/google/cloud/logging/entry/http_request.rb', line 58

def response_size
  @response_size
end

#sizeObject

The size of the HTTP request message in bytes, including the request headers and the request body. (Integer)



47
48
49
# File 'lib/google/cloud/logging/entry/http_request.rb', line 47

def size
  @size
end

#statusObject

The response code indicating the status of response. Examples: 200, 404. (Integer)



52
53
54
# File 'lib/google/cloud/logging/entry/http_request.rb', line 52

def status
  @status
end

#urlObject

The URL. The scheme (http, https), the host name, the path and the query portion of the URL that was requested. Example: ‘“example.com/some/info?color=red”`. (String)



42
43
44
# File 'lib/google/cloud/logging/entry/http_request.rb', line 42

def url
  @url
end

#user_agentObject

The user agent sent by the client. Example: ‘“Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)”`. (String)



64
65
66
# File 'lib/google/cloud/logging/entry/http_request.rb', line 64

def user_agent
  @user_agent
end

#validatedObject

Whether the response was validated with the origin server before being served from cache. This field is only meaningful if cache_hit is true. (Boolean)



87
88
89
# File 'lib/google/cloud/logging/entry/http_request.rb', line 87

def validated
  @validated
end

Class Method Details

.from_grpc(grpc) ⇒ Object

object.



126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
# File 'lib/google/cloud/logging/entry/http_request.rb', line 126

def self.from_grpc grpc
  return new if grpc.nil?
  new.tap do |h|
    h.method        = grpc.request_method
    h.url           = grpc.request_url
    h.size          = grpc.request_size
    h.status        = grpc.status
    h.response_size = grpc.response_size
    h.user_agent    = grpc.user_agent
    h.remote_ip     = grpc.remote_ip
    h.referer       = grpc.referer
    h.cache_hit     = grpc.cache_hit
    h.validated     = grpc.cache_validated_with_origin_server
  end
end

Instance Method Details

#empty?Boolean

Returns:

  • (Boolean)


91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/google/cloud/logging/entry/http_request.rb', line 91

def empty?
  method.nil? &&
    url.nil? &&
    size.nil? &&
    status.nil? &&
    response_size.nil? &&
    user_agent.nil? &&
    remote_ip.nil? &&
    referer.nil? &&
    cache_hit.nil? &&
    validated.nil?
end

#to_grpcObject

Google::Logging::Type::HttpRequest object.



107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/google/cloud/logging/entry/http_request.rb', line 107

def to_grpc
  return nil if empty?
  Google::Logging::Type::HttpRequest.new(
    request_method:                     method.to_s,
    request_url:                        url.to_s,
    request_size:                       size.to_i,
    status:                             status.to_i,
    response_size:                      response_size.to_i,
    user_agent:                         user_agent.to_s,
    remote_ip:                          remote_ip.to_s,
    referer:                            referer.to_s,
    cache_hit:                          !(!cache_hit),
    cache_validated_with_origin_server: !(!validated)
  )
end