class Navigable::Server::CORS::Middleware
Public Class Methods
new(app)
click to toggle source
# File lib/navigable/server/cors.rb, line 21 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/navigable/server/cors.rb, line 25 def call(env) return @app.call(env) unless cors_configured? && cors_request?(env) cors_response end
Private Instance Methods
cors_configured?()
click to toggle source
# File lib/navigable/server/cors.rb, line 33 def cors_configured? !Navigable::Server::CORS.headers.empty? end
cors_request?(env)
click to toggle source
# File lib/navigable/server/cors.rb, line 37 def cors_request?(env) env['REQUEST_METHOD'] == 'OPTIONS' end
cors_response()
click to toggle source
# File lib/navigable/server/cors.rb, line 41 def cors_response [200, default_headers.merge(Navigable::Server::CORS.headers), []] end
default_headers()
click to toggle source
# File lib/navigable/server/cors.rb, line 45 def default_headers { 'Content-Type' => 'text/plain', 'Content-Length' => '0' } end