module Upjs::Rails::RequestEchoHeaders

Installs a `before_filter` into all controllers which echoes the request's URL as a response header `X-Up-Location` and the request's HTTP method as `X-Up-Method`.

The Up.js frontend requires these headers to detect redirects, which are otherwise undetectable for an AJAX client.

Public Class Methods

included(base) click to toggle source
# File lib/upjs/rails/request_echo_headers.rb, line 12
def self.included(base)
  base.before_filter :set_up_request_echo_headers
end

Private Instance Methods

set_up_request_echo_headers() click to toggle source
# File lib/upjs/rails/request_echo_headers.rb, line 18
def set_up_request_echo_headers
  headers['X-Up-Location'] = request.original_url
  headers['X-Up-Method'] = request.method
end