Class: Chef::HTTP::CookieManager
- Inherits:
-
Object
- Object
- Chef::HTTP::CookieManager
- Defined in:
- lib/chef/http/cookie_manager.rb
Overview
An HTTP middleware to manage storing/sending cookies in HTTP requests. Most HTTP communication in Chef does not need cookies, it was originally implemented to support OpenID, but it's not known who might be relying on it, so it's included with Chef::REST
Instance Method Summary collapse
- #handle_request(method, url, headers = {}, data = false) ⇒ Object
- #handle_response(http_response, rest_request, return_value) ⇒ Object
- #handle_stream_complete(http_response, rest_request, return_value) ⇒ Object
-
#initialize(options = {}) ⇒ CookieManager
constructor
A new instance of CookieManager.
- #stream_response_handler(response) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ CookieManager
Returns a new instance of CookieManager.
30 31 32 |
# File 'lib/chef/http/cookie_manager.rb', line 30 def initialize( = {}) @cookies = CookieJar.instance end |
Instance Method Details
#handle_request(method, url, headers = {}, data = false) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/chef/http/cookie_manager.rb', line 34 def handle_request(method, url, headers = {}, data = false) @host, @port = url.host, url.port if @cookies.key?("#{@host}:#{@port}") headers["Cookie"] = @cookies["#{@host}:#{@port}"] end [method, url, headers, data] end |
#handle_response(http_response, rest_request, return_value) ⇒ Object
42 43 44 45 46 47 |
# File 'lib/chef/http/cookie_manager.rb', line 42 def handle_response(http_response, rest_request, return_value) if http_response["set-cookie"] @cookies["#{@host}:#{@port}"] = http_response["set-cookie"] end [http_response, rest_request, return_value] end |
#handle_stream_complete(http_response, rest_request, return_value) ⇒ Object
53 54 55 |
# File 'lib/chef/http/cookie_manager.rb', line 53 def handle_stream_complete(http_response, rest_request, return_value) [http_response, rest_request, return_value] end |
#stream_response_handler(response) ⇒ Object
49 50 51 |
# File 'lib/chef/http/cookie_manager.rb', line 49 def stream_response_handler(response) nil end |