Class: Wsv::Cors

Inherits:
Object
  • Object
show all
Defined in:
lib/wsv/cors.rb

Constant Summary collapse

ALLOW_ORIGIN =
"*"
ALLOW_METHODS =
"GET, HEAD, OPTIONS"
MAX_AGE =
"86400"

Instance Method Summary collapse

Instance Method Details

#overlay(response) ⇒ Object



23
24
25
26
27
28
# File 'lib/wsv/cors.rb', line 23

def overlay(response)
  response.with_headers(
    "Access-Control-Allow-Origin" => ALLOW_ORIGIN,
    "Vary" => "Origin"
  )
end

#preflight(request) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/wsv/cors.rb', line 11

def preflight(request)
  headers = {
    "Access-Control-Allow-Origin" => ALLOW_ORIGIN,
    "Access-Control-Allow-Methods" => ALLOW_METHODS,
    "Access-Control-Max-Age" => MAX_AGE,
    "Vary" => "Origin"
  }
  requested = request.headers["access-control-request-headers"]
  headers["Access-Control-Allow-Headers"] = requested if requested
  Response.new(status: 204, headers: headers)
end