Class: ProcessAssessment
- Inherits:
-
Object
- Object
- ProcessAssessment
- Defined in:
- lib/process_assessment.rb
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(request) ⇒ ProcessAssessment
constructor
A new instance of ProcessAssessment.
- #run ⇒ Object
Constructor Details
#initialize(request) ⇒ ProcessAssessment
Returns a new instance of ProcessAssessment.
7 8 9 |
# File 'lib/process_assessment.rb', line 7 def initialize(request) @request = request end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
5 6 7 |
# File 'lib/process_assessment.rb', line 5 def request @request end |
Class Method Details
.for(request) ⇒ Object
11 12 13 |
# File 'lib/process_assessment.rb', line 11 def self.for(request) new(request).run end |
Instance Method Details
#run ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/process_assessment.rb', line 15 def run return successful_response if datadome_server_side_key_blank? body = RequestData.for(request, datadome_server_side_key) dd_response = client.post(VALIDATE_REQUEST_PATH, body) return successful_response unless POSSIBLE_STATUS_CODES.include?(dd_response.status) return successful_response if dd_response.status != dd_response.headers['X-DataDomeResponse'].to_i Response.new( status: dd_response.status, headers: headers_hash(dd_response), payload: dd_response.body ) rescue Faraday::TimeoutError MD.logger.error("#{self.class}: Protection API request timed out") successful_response rescue Faraday::ConnectionFailed => e MD.logger.error("#{self.class}: Protection API request connection failed: #{e.}") successful_response end |