add CORS support

This commit is contained in:
Konstantin Haase 2012-07-23 15:16:26 +02:00
parent 55abbb6b59
commit f67e72602b
2 changed files with 23 additions and 0 deletions

View File

@ -1,5 +1,6 @@
require 'sinatra'
require 'sinatra/reloader'
require 'travis/api/cors'
require 'json'
require 'travis'
@ -9,8 +10,10 @@ module Travis
module Api
class App < Sinatra::Application
autoload :Service, 'travis/api/app/service'
disable :protection
use ActiveRecord::ConnectionAdapters::ConnectionManagement
use Travis::API::CORS
error ActiveRecord::RecordNotFound do
not_found

20
lib/travis/api/cors.rb Normal file
View File

@ -0,0 +1,20 @@
require 'sinatra/base'
module Travis
module API
class CORS < Sinatra::Base
disable :protection
before do
headers['Access-Control-Allow-Origin'] = "*"
headers['Access-Control-Allow-Credentials'] = "true"
headers['Access-Control-Expose-Headers'] = "Content-Type"
end
options // do
headers['Access-Control-Allow-Methods'] = "GET, POST, PATCH, PUT, DELETE"
headers['Access-Control-Allow-Headers'] = "Content-Type, Authorization"
end
end
end
end