Class: HTTPWrapper

Inherits:
Object
  • Object
show all
Defined in:
lib/http_wrapper/errors.rb,
lib/http_wrapper/request.rb,
lib/http_wrapper/version.rb,
lib/http_wrapper/constants.rb,
lib/http_wrapper/http_wrapper.rb

Defined Under Namespace

Classes: Error, Request, TooManyRedirectsError

Constant Summary collapse

VERSION =
'5.0.0'
USER_AGENT =
"HTTPWrapper/#{HTTPWrapper::VERSION}; Ruby/#{RUBY_VERSION}".freeze
CONTENT_TYPE_HEADER_NAME =
'content-type'
USER_AGENT_HEADER_NAME =
'user-agent'
'cookie'
AJAX_HEADER_NAME =
'x-requested-with'
DEFAULT_CONTENT_TYPE =
'text/html; charset=UTF-8'
JSON_CONTENT_TYPE =
'application/json; charset=UTF-8'
POST_CONTENT_TYPE =
'application/x-www-form-urlencoded'
MULTIPART_CONTENT_TYPE =
'multipart/form-data'
AJAX_HEADER =
{ AJAX_HEADER_NAME => 'XMLHttpRequest' }.freeze
JSON_HEADER =
{ CONTENT_TYPE_HEADER_NAME => JSON_CONTENT_TYPE }.freeze
AJAX_JSON_HEADER =
AJAX_HEADER.merge(JSON_HEADER).freeze
HEADERS_FOR_REQUEST_TYPE =
{
  'ajax' => AJAX_HEADER,
  'json' => JSON_HEADER,
  'ajax_json' => AJAX_JSON_HEADER
}.freeze
HTTP_METHODS =
{
  get: Net::HTTP::Get,
  post: Net::HTTP::Post,
  put: Net::HTTP::Put,
  delete: Net::HTTP::Delete
}.freeze
REQUEST_TYPES =
%w[ajax json ajax_json].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(timeout: 10, verify_cert: true, logger: nil, max_redirects: 10, user_agent: USER_AGENT) ⇒ HTTPWrapper

Returns a new instance of HTTPWrapper.



17
18
19
20
21
22
23
# File 'lib/http_wrapper/http_wrapper.rb', line 17

def initialize(timeout: 10, verify_cert: true, logger: nil, max_redirects: 10, user_agent: USER_AGENT)
  @timeout       = timeout
  @verify_cert   = verify_cert
  @logger        = logger
  @max_redirects = max_redirects
  @user_agent    = user_agent
end

Instance Attribute Details

#loggerObject

Returns the value of attribute logger.



15
16
17
# File 'lib/http_wrapper/http_wrapper.rb', line 15

def logger
  @logger
end

#max_redirectsObject

Returns the value of attribute max_redirects.



15
16
17
# File 'lib/http_wrapper/http_wrapper.rb', line 15

def max_redirects
  @max_redirects
end

#timeoutObject

Returns the value of attribute timeout.



15
16
17
# File 'lib/http_wrapper/http_wrapper.rb', line 15

def timeout
  @timeout
end

#user_agentObject

Returns the value of attribute user_agent.



15
16
17
# File 'lib/http_wrapper/http_wrapper.rb', line 15

def user_agent
  @user_agent
end

#verify_certObject

Returns the value of attribute verify_cert.



15
16
17
# File 'lib/http_wrapper/http_wrapper.rb', line 15

def verify_cert
  @verify_cert
end

Instance Method Details

#execute(request, uri) ⇒ Object



54
55
56
57
# File 'lib/http_wrapper/http_wrapper.rb', line 54

def execute(request, uri)
  connection = create_connection uri
  connection.request request
end

#post_and_get_cookie(url, **params) ⇒ Object



49
50
51
52
# File 'lib/http_wrapper/http_wrapper.rb', line 49

def post_and_get_cookie(url, **params)
  response = post(url, **params)
  response['set-cookie']
end