Class: OnlineServicesMiddleware

Inherits:
Faraday::Middleware
  • Object
show all
Defined in:
lib/whv_nz/online_services_middleware.rb

Instance Method Summary collapse

Instance Method Details

#call(request_env) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/whv_nz/online_services_middleware.rb', line 4

def call(request_env)
  form = request_env.url.path.split(".").first.split("/").last.underscore

  request_env[:request_headers].merge!(shared_headers)
  request_env[:request_headers]['Cookie'] = $whv.data["cookie"] || ""

  @app.call(request_env).on_complete do |response_env|
    update_cookie(response_env[:response_headers]["set-cookie"])

    if error?(response_env.body)
      $whv.save_cookie(nil)

      $whv.pages.open_page "login"
      $whv.online_services.send_request "login"
    end
  end
end