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
[View source]
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
[View source]
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
[View source]
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
[View source]
49 50 51 |
# File 'lib/chef/http/cookie_manager.rb', line 49 def stream_response_handler(response) nil end |