module Lgtm::Network
Network
is module of HTTP communication
Public Instance Methods
parse_redirect_location(response)
click to toggle source
parse_redirect_location
Parse redirect location from response
@param [Net::HTTP] response HTTP response
@return [String] Redirect location
# File lib/lgtm/network.rb, line 29 def parse_redirect_location(response) response['location'] end
process_request(uri)
click to toggle source
process_request
Send HTTP request
@param [URI] uri Request uri
@return [Net::HTTP] HTTP response
# File lib/lgtm/network.rb, line 14 def process_request(uri) request = Net::HTTP::Get.new(uri) connection = Net::HTTP.start(uri.hostname, uri.port, use_ssl: https?(uri)) connection .request(request) .tap(&method(:validate_response!)) end
Private Instance Methods
https?(uri)
click to toggle source
https? Check that uri use HTTPS scheme
@param [URI] uri Test uri
@return [Boolean] Result of check
# File lib/lgtm/network.rb, line 53 def https?(uri) uri.instance_of?(URI::HTTPS) end
validate_response!(response)
click to toggle source
validate_response! Validates HTTP response
@param [Net::HTTP] response Net::HTTP response
@raise NetworkError
@return [nil]
# File lib/lgtm/network.rb, line 43 def validate_response!(response) raise NetworkError, response.message if response.is_a?(Net::HTTPError) end