class Safettp::Request::Net

Attributes

options[R]
uri[R]
verb[R]

Public Class Methods

new(verb, uri, options) click to toggle source
# File lib/safettp/request/net.rb, line 4
def initialize(verb, uri, options)
  @verb = verb
  @uri = uri
  @options = options
end

Public Instance Methods

http() click to toggle source
# File lib/safettp/request/net.rb, line 14
def http
  ::Net::HTTP.new(uri.host, uri.port).tap do |obj|
    obj.use_ssl = uri.scheme == 'https'
    obj.verify_mode = OpenSSL::SSL::VERIFY_PEER
  end
end
perform() click to toggle source
# File lib/safettp/request/net.rb, line 10
def perform
  http.request(request)
end
request() click to toggle source
# File lib/safettp/request/net.rb, line 21
def request
  klass = Kernel.const_get("Net::HTTP::#{verb.capitalize}")
  klass.new(uri).tap do |request|
    set_headers(request)
    set_body(request)
    set_authorization(request)
  end
end

Private Instance Methods

set_authorization(request) click to toggle source
# File lib/safettp/request/net.rb, line 32
def set_authorization(request)
  options.auth.set(request)
end
set_body(request) click to toggle source
# File lib/safettp/request/net.rb, line 36
def set_body(request)
  request.body = options.parser.encode(options.body)
end
set_headers(request) click to toggle source
# File lib/safettp/request/net.rb, line 40
def set_headers(request)
  options.headers.each do |header, value|
    request.add_field(header.to_s, value)
  end
end