Class: Sniffer::DataItem

Inherits:
Object
  • Object
show all
Includes:
ActiveAttr::MassAssignment
Defined in:
lib/sniffer/data_item.rb

Overview

Sniffer data item stores a request info

Defined Under Namespace

Classes: HttpObject, Request, Response

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#requestObject

Returns the value of attribute request.



11
12
13
# File 'lib/sniffer/data_item.rb', line 11

def request
  @request
end

#responseObject

Returns the value of attribute response.



11
12
13
# File 'lib/sniffer/data_item.rb', line 11

def response
  @response
end

Instance Method Details

#allowed_to_sniff?Boolean

Returns:

  • (Boolean)


34
35
36
37
# File 'lib/sniffer/data_item.rb', line 34

def allowed_to_sniff?
  return true unless request
  RequestPolicy.call(request)
end

#logObject



20
21
22
23
# File 'lib/sniffer/data_item.rb', line 20

def log
  return unless Sniffer.logger && allowed_to_sniff?
  Sniffer.logger.log(Sniffer.config.severity, to_json)
end

#to_hObject



13
14
15
16
17
18
# File 'lib/sniffer/data_item.rb', line 13

def to_h
  {
    request: request && request.to_h,
    response: response && response.to_h
  }
end

#to_jsonObject



30
31
32
# File 'lib/sniffer/data_item.rb', line 30

def to_json
  to_log.to_json
end

#to_logObject



25
26
27
28
# File 'lib/sniffer/data_item.rb', line 25

def to_log
  return {} unless Sniffer.config.logger
  request.to_log.merge(response.to_log)
end