Class: Interactsh::HttpClient
- Inherits:
-
Object
- Object
- Interactsh::HttpClient
- Defined in:
- lib/interactsh/http_client.rb
Overview
HTTP client for Interactsh API
Instance Method Summary collapse
-
#initialize(server, token) ⇒ HttpClient
constructor
A new instance of HttpClient.
-
#make_poll_request(correlation_id, secret) ⇒ Net::HTTPResponse
Makes the HTTP request to poll for interaction data.
-
#make_register_request(data) ⇒ Net::HTTPResponse
Makes the HTTP request to register a correlation ID.
-
#response_successful?(response) ⇒ Boolean
Checks if the HTTP response was successful.
Constructor Details
#initialize(server, token) ⇒ HttpClient
Returns a new instance of HttpClient.
6 7 8 9 |
# File 'lib/interactsh/http_client.rb', line 6 def initialize(server, token) @server = server @token = token end |
Instance Method Details
#make_poll_request(correlation_id, secret) ⇒ Net::HTTPResponse
Makes the HTTP request to poll for interaction data
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/interactsh/http_client.rb', line 16 def make_poll_request(correlation_id, secret) uri = URI.parse("https://#{@server}/poll?id=#{correlation_id}&secret=#{secret}") http = setup_http_client(uri) request = Net::HTTP::Get.new(uri.request_uri) apply_headers(request) http.request(request) rescue StandardError => e raise HTTPRequestError, "HTTP request error: #{e.}" end |
#make_register_request(data) ⇒ Net::HTTPResponse
Makes the HTTP request to register a correlation ID
32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/interactsh/http_client.rb', line 32 def make_register_request(data) uri = URI.parse("https://#{@server}/register") http = setup_http_client(uri) request = Net::HTTP::Post.new(uri.request_uri) apply_headers(request, 'Content-Type' => 'application/json') request.body = data.to_json http.request(request) rescue StandardError => e raise HTTPRequestError, "HTTP request error: #{e.}" end |
#response_successful?(response) ⇒ Boolean
Checks if the HTTP response was successful
50 51 52 53 54 |
# File 'lib/interactsh/http_client.rb', line 50 def response_successful?(response) return true if response&.code&.to_i == 200 handle_error_response(response) end |