Class: Chef::REST::RESTRequest
Constant Summary collapse
- UA_COMMON =
"/#{::Chef::VERSION} (#{engine}-#{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}; ohai-#{Ohai::VERSION}; #{RUBY_PLATFORM}; +http://opscode.com)"
- DEFAULT_UA =
"Chef Client" << UA_COMMON
- USER_AGENT =
"User-Agent".freeze
- ACCEPT_ENCODING =
"Accept-Encoding".freeze
- ENCODING_GZIP_DEFLATE =
"gzip;q=1.0,deflate;q=0.6,identity;q=0.3".freeze
- GET =
"get".freeze
- PUT =
"put".freeze
- POST =
"post".freeze
- DELETE =
"delete".freeze
- HEAD =
"head".freeze
- HTTPS =
"https".freeze
- SLASH =
"/".freeze
Instance Attribute Summary collapse
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#http_client ⇒ Object
readonly
Returns the value of attribute http_client.
-
#http_request ⇒ Object
readonly
Returns the value of attribute http_request.
-
#method ⇒ Object
readonly
Returns the value of attribute method.
-
#url ⇒ Object
readonly
Returns the value of attribute url.
Class Method Summary collapse
Instance Method Summary collapse
- #call ⇒ Object
- #config ⇒ Object
- #host ⇒ Object
-
#initialize(method, url, req_body, base_headers = {}) ⇒ RESTRequest
constructor
A new instance of RESTRequest.
- #path ⇒ Object
- #port ⇒ Object
- #query ⇒ Object
Constructor Details
#initialize(method, url, req_body, base_headers = {}) ⇒ RESTRequest
Returns a new instance of RESTRequest.
72 73 74 75 76 77 78 79 |
# File 'lib/chef/rest/rest_request.rb', line 72 def initialize(method, url, req_body, base_headers={}) @method, @url = method, url @request_body = nil @cookies = CookieJar.instance configure_http_client build_headers(base_headers) configure_http_request(req_body) end |
Instance Attribute Details
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
70 71 72 |
# File 'lib/chef/rest/rest_request.rb', line 70 def headers @headers end |
#http_client ⇒ Object (readonly)
Returns the value of attribute http_client.
70 71 72 |
# File 'lib/chef/rest/rest_request.rb', line 70 def http_client @http_client end |
#http_request ⇒ Object (readonly)
Returns the value of attribute http_request.
70 71 72 |
# File 'lib/chef/rest/rest_request.rb', line 70 def http_request @http_request end |
#method ⇒ Object (readonly)
Returns the value of attribute method.
70 71 72 |
# File 'lib/chef/rest/rest_request.rb', line 70 def method @method end |
#url ⇒ Object (readonly)
Returns the value of attribute url.
70 71 72 |
# File 'lib/chef/rest/rest_request.rb', line 70 def url @url end |
Class Method Details
.user_agent ⇒ Object
66 67 68 |
# File 'lib/chef/rest/rest_request.rb', line 66 def self.user_agent @user_agent ||= DEFAULT_UA end |
.user_agent=(ua) ⇒ Object
62 63 64 |
# File 'lib/chef/rest/rest_request.rb', line 62 def self.user_agent=(ua) @user_agent = ua end |
Instance Method Details
#call ⇒ Object
97 98 99 100 101 102 103 104 105 |
# File 'lib/chef/rest/rest_request.rb', line 97 def call hide_net_http_bug do http_client.request(http_request) do |response| (response) yield response if block_given? response end end end |
#config ⇒ Object
107 108 109 |
# File 'lib/chef/rest/rest_request.rb', line 107 def config Chef::Config end |
#host ⇒ Object
81 82 83 |
# File 'lib/chef/rest/rest_request.rb', line 81 def host @url.host end |
#path ⇒ Object
93 94 95 |
# File 'lib/chef/rest/rest_request.rb', line 93 def path @url.path.empty? ? SLASH : @url.path end |
#port ⇒ Object
85 86 87 |
# File 'lib/chef/rest/rest_request.rb', line 85 def port @url.port end |
#query ⇒ Object
89 90 91 |
# File 'lib/chef/rest/rest_request.rb', line 89 def query @url.query end |