Class: SAPOCI::Connect::Middleware::PassCookies

Inherits:
Faraday::Response::Middleware
  • Object
show all
Defined in:
lib/sapoci/connect/middleware/pass_cookies.rb

Instance Method Summary collapse

Constructor Details

#initialize(app, options = {}) ⇒ PassCookies

Returns a new instance of PassCookies.



5
6
7
8
9
# File 'lib/sapoci/connect/middleware/pass_cookies.rb', line 5

def initialize(app, options = {})
  @options = options
  @cookies = []
  super(app)
end

Instance Method Details

#call(env) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/sapoci/connect/middleware/pass_cookies.rb', line 11

def call(env)
  unless @cookies.empty?
    cookies = @cookies.compact.uniq.join("; ").squeeze(";")
    env[:request_headers]['Cookie'] = cookies
  end
  @app.call(env).on_complete do |resp|
    if cookie = resp[:response_headers]['Set-Cookie']
      @cookies << cookie
    end
  end
end