-require "rack/cors"
+# Be sure to restart your server when you modify this file.
# Mark CORS responses as uncacheable as we don't want a browser to
# try and reuse a response that had a different origin, even with
module OpenStreetMap
class Cors < Rack::Cors
def call(env)
- status, headers, body = super env
- if headers["Access-Control-Allow-Origin"]
- headers["Cache-Control"] = "no-cache"
- end
+ status, headers, body = super(env)
+ headers["Cache-Control"] = "no-cache" if headers["Access-Control-Allow-Origin"]
[status, headers, body]
end
end
# so browser-requests should be similarly permitted. (Though the API does not
# require any custom headers, Ajax frameworks may automatically add headers
# such as X-Requested-By to requests.)
-Rails.configuration.middleware.use OpenStreetMap::Cors do
+Rails.application.config.middleware.insert_before 0, OpenStreetMap::Cors do
allow do
origins "*"
resource "/oauth/*", :headers => :any, :methods => [:get, :post]
+ resource "/oauth2/token", :headers => :any, :methods => [:post]
+ resource "/oauth2/revoke", :headers => :any, :methods => [:post]
+ resource "/oauth2/introspect", :headers => :any, :methods => [:post]
resource "/api/*", :headers => :any, :methods => [:get, :post, :put, :delete]
+ resource "/diary/rss", :headers => :any, :methods => [:get]
+ resource "/diary/*/rss", :headers => :any, :methods => [:get]
+ resource "/trace/*/data", :headers => :any, :methods => [:get]
+ resource "/user/*/diary/rss", :headers => :any, :methods => [:get]
end
end