class Rack::Cors::Result

Constants

HEADER_KEY
MISS_DENY_HEADER
MISS_DENY_METHOD
MISS_NO_METHOD
MISS_NO_ORIGIN
MISS_NO_PATH

Attributes

hit[RW]
miss_reason[RW]
preflight[RW]

Public Class Methods

hit(env) click to toggle source
# File lib/rack/cors/result.rb, line 30
def self.hit(env)
  r = Result.new
  r.preflight = false
  r.hit = true
  env[Rack::Cors::ENV_KEY] = r
end
miss(env, reason) click to toggle source
# File lib/rack/cors/result.rb, line 37
def self.miss(env, reason)
  r = Result.new
  r.preflight = false
  r.hit = false
  r.miss_reason = reason
  env[Rack::Cors::ENV_KEY] = r
end
preflight(env) click to toggle source
# File lib/rack/cors/result.rb, line 45
def self.preflight(env)
  r = Result.new
  r.preflight = true
  env[Rack::Cors::ENV_KEY] = r
end

Public Instance Methods

append_header(headers) click to toggle source
# File lib/rack/cors/result.rb, line 51
def append_header(headers)
  headers[HEADER_KEY] = if hit?
                          preflight? ? 'preflight-hit' : 'hit'
                        else
                          [
                            (preflight? ? 'preflight-miss' : 'miss'),
                            miss_reason
                          ].join('; ')
                        end
end
hit?() click to toggle source
# File lib/rack/cors/result.rb, line 17
def hit?
  !!hit
end
miss(reason) click to toggle source
# File lib/rack/cors/result.rb, line 25
def miss(reason)
  self.hit = false
  self.miss_reason = reason
end
preflight?() click to toggle source
# File lib/rack/cors/result.rb, line 21
def preflight?
  !!preflight
end