Class: Sniffer::DataItem::Request

Inherits:
HttpObject show all
Defined in:
lib/sniffer/data_item.rb

Overview

Stores http request data

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from HttpObject

#log_message, #log_settings

Instance Attribute Details

#bodyObject

Returns the value of attribute body.



65
66
67
# File 'lib/sniffer/data_item.rb', line 65

def body
  @body
end

#headersObject

Returns the value of attribute headers.



65
66
67
# File 'lib/sniffer/data_item.rb', line 65

def headers
  @headers
end

#hostObject

Returns the value of attribute host.



65
66
67
# File 'lib/sniffer/data_item.rb', line 65

def host
  @host
end

#methodObject

Returns the value of attribute method.



65
66
67
# File 'lib/sniffer/data_item.rb', line 65

def method
  @method
end

#portObject

Returns the value of attribute port.



65
66
67
# File 'lib/sniffer/data_item.rb', line 65

def port
  @port
end

#queryObject

Returns the value of attribute query.



65
66
67
# File 'lib/sniffer/data_item.rb', line 65

def query
  @query
end

Instance Method Details

#to_hObject



67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/sniffer/data_item.rb', line 67

def to_h
  {
    host: host,
    query: query,
    port: port,
    headers: headers,
    body: # frozen_string_literal: true
# Sniffer data item stores a request info
# Basic object for request and response objects
# Stores http request data
# rubocop:enable
# Stores http response data

body&.to_s,
    method: method
  }
end

#to_logObject

rubocop:disable Metrics/AbcSize,Metrics/MethodLength



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/sniffer/data_item.rb', line 86

def to_log
  {}.tap do |hash|
    if log_settings["request_url"]
      hash[:port] = port
      hash[:host] = host
      hash[:query] = query
    end

    if log_settings["request_headers"]
      headers.each do |(k, v)|
        hash[:"rq_#{k.to_s.tr("-", '_').downcase}"] = v
      end
    end

    hash[:method] = method if log_settings["request_method"]
    hash[:request_body] = body.to_s if log_settings["request_body"]
  end
end