class JIRA::HttpClient
Constants
- DEFAULT_OPTIONS
Attributes
options[R]
Public Class Methods
new(options)
click to toggle source
# File lib/jira/http_client.rb, line 15 def initialize(options) @options = DEFAULT_OPTIONS.merge(options) @cookies = {} end
Public Instance Methods
authenticated?()
click to toggle source
# File lib/jira/http_client.rb, line 70 def authenticated? @authenticated end
basic_auth_http_conn()
click to toggle source
# File lib/jira/http_client.rb, line 43 def basic_auth_http_conn http_conn(uri) end
http_conn(uri)
click to toggle source
# File lib/jira/http_client.rb, line 47 def http_conn(uri) if @options[:proxy_address] http_class = Net::HTTP::Proxy(@options[:proxy_address], @options[:proxy_port] || 80, @options[:proxy_username], @options[:proxy_password]) else http_class = Net::HTTP end http_conn = http_class.new(uri.host, uri.port) http_conn.use_ssl = @options[:use_ssl] if @options[:use_client_cert] http_conn.cert = @options[:ssl_client_cert] http_conn.key = @options[:ssl_client_key] end http_conn.verify_mode = @options[:ssl_verify_mode] http_conn.ssl_version = @options[:ssl_version] if @options[:ssl_version] http_conn.read_timeout = @options[:read_timeout] http_conn.ca_file = @options[:ca_file] if @options[:ca_file] http_conn end
make_multipart_request(url, body, headers = {})
click to toggle source
# File lib/jira/http_client.rb, line 36 def make_multipart_request(url, body, headers = {}) path = request_path(url) request = Net::HTTP::Post::Multipart.new(path, body, headers) execute_request(request) end
make_request(http_method, url, body = '', headers = {})
click to toggle source
# File lib/jira/http_client.rb, line 27 def make_request(http_method, url, body = '', headers = {}) # When a proxy is enabled, Net::HTTP expects that the request path omits the domain name path = request_path(url) request = Net::HTTP.const_get(http_method.to_s.capitalize).new(path, headers) request.body = body unless body.nil? execute_request(request) end
uri()
click to toggle source
# File lib/jira/http_client.rb, line 66 def uri URI.parse(@options[:site]) end
Private Instance Methods
execute_request(request)
click to toggle source
# File lib/jira/http_client.rb, line 76 def execute_request(request) add_cookies(request) if options[:use_cookies] request.basic_auth(@options[:username], @options[:password]) if @options[:username] && @options[:password] response = basic_auth_http_conn.request(request) @authenticated = response.is_a? Net::HTTPOK store_cookies(response) if options[:use_cookies] response end
request_path(url)
click to toggle source
# File lib/jira/http_client.rb, line 87 def request_path(url) parsed_uri = URI(url) return url unless parsed_uri.is_a?(URI::HTTP) parsed_uri.request_uri end