Commit da3f08f80e1487110dd777bf27dab190b7dd3a98
Committed by
Rodrigo Souto
1 parent
108a4caa
Exists in
master
and in
29 other branches
API: adding support for ajax calls
Showing
3 changed files
with
13 additions
and
0 deletions
Show diff stats
Gemfile
| @@ -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 } |