Commit da3f08f80e1487110dd777bf27dab190b7dd3a98

Authored by Leandro Santos
Committed by Rodrigo Souto
1 parent 108a4caa

API: adding support for ajax calls

@@ -22,6 +22,9 @@ gem 'eita-jrails', '>= 0.9.5', :require => 'jrails' @@ -22,6 +22,9 @@ gem 'eita-jrails', '>= 0.9.5', :require => 'jrails'
22 gem 'grape', '~> 0.8.0' 22 gem 'grape', '~> 0.8.0'
23 gem 'grape-entity' 23 gem 'grape-entity'
24 gem 'grape-swagger' 24 gem 'grape-swagger'
  25 +gem 'rack-cors'
  26 +gem 'rack-contrib'
  27 +
25 #gem 'grape-swagger-rails' 28 #gem 'grape-swagger-rails'
26 29
27 # FIXME list here all actual dependencies (i.e. the ones in debian/control), 30 # FIXME list here all actual dependencies (i.e. the ones in debian/control),
config/application.rb
@@ -133,5 +133,12 @@ module Noosfero @@ -133,5 +133,12 @@ module Noosfero
133 133
134 Noosfero::Plugin.setup(config) 134 Noosfero::Plugin.setup(config)
135 135
  136 + config.middleware.use Rack::Cors do
  137 + allow do
  138 + origins '*'
  139 + resource 'api/*', :headers => :any, :methods => [:get, :post]
  140 + end
  141 + end
  142 +
136 end 143 end
137 end 144 end
lib/noosfero/api/api.rb
1 require 'grape' 1 require 'grape'
  2 +#require 'rack/contrib'
2 Dir["#{Rails.root}/lib/noosfero/api/*.rb"].each {|file| require file} 3 Dir["#{Rails.root}/lib/noosfero/api/*.rb"].each {|file| require file}
3 module Noosfero 4 module Noosfero
4 module API 5 module API
5 class API < Grape::API 6 class API < Grape::API
  7 + use Rack::JSONP
  8 +
6 before { start_log } 9 before { start_log }
7 before { setup_multitenancy } 10 before { setup_multitenancy }
8 before { detect_stuff_by_domain } 11 before { detect_stuff_by_domain }