class NCCConfidence::Http

Attributes

auth_type[RW]
curl[RW]
headers[RW]
password[RW]
payload[RW]
redirects[RW]
ssl[RW]
uri[RW]
username[RW]

Public Class Methods

new() click to toggle source
# File lib/nccconfidence/http_client.rb, line 22
def initialize
        self.headers = {}
end
request(&scipt) click to toggle source
# File lib/nccconfidence/http_client.rb, line 7
def request  &scipt
        t = self.new
        t.instance_eval(&scipt)
        t
end

Public Instance Methods

body() click to toggle source
# File lib/nccconfidence/http_client.rb, line 52
def body
        self.curl.body_str
end
header(name, content) click to toggle source
# File lib/nccconfidence/http_client.rb, line 26
def header name, content
        self.headers[name] = content
end
make_request_of(request_method) click to toggle source
# File lib/nccconfidence/http_client.rb, line 36
def make_request_of (request_method)
        self.curl = Curl::Easy.new(self.uri) do |http|
                setup_request request_method, http
        end
        self.curl.ssl_verify_peer =  self.ssl ||false
        self.curl.http request_method
        if self.curl.response_code == 301
                self.uri =  self.curl.redirect_url
                make_request_of request_method
        end
end
response() click to toggle source
# File lib/nccconfidence/http_client.rb, line 48
def response
        self.curl.response_code
end
setup_request(method,http) click to toggle source
# File lib/nccconfidence/http_client.rb, line 56
def setup_request method,http
        http.headers['request-method'] = method.to_s
        http.headers.update(headers)
        http.max_redirects = self.redirects || 3
        http.post_body = self.payload || nil
        http.http_auth_types = self.auth_type || nil
        http.username = self.username || nil
        http.password = self.password || nil
        http.useragent = "curb"
        http
end