You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.3 KiB
41 lines
1.3 KiB
# frozen_string_literal: true
|
|
|
|
# Be sure to restart your server when you modify this file.
|
|
|
|
# Avoid CORS issues when API is called from the frontend app.
|
|
# Handle Cross-Origin Resource Sharing (CORS) in order to accept cross-origin AJAX requests.
|
|
|
|
# Read more: https://github.com/cyu/rack-cors
|
|
|
|
Rails.application.config.middleware.insert_before 0, Rack::Cors do
|
|
allow do
|
|
origins '*'
|
|
|
|
resource '/.well-known/*',
|
|
headers: :any,
|
|
methods: [:get],
|
|
credentials: false
|
|
resource '/@:username',
|
|
headers: :any,
|
|
methods: [:get],
|
|
credentials: false
|
|
resource '/users/:username',
|
|
headers: :any,
|
|
methods: [:get],
|
|
credentials: false
|
|
resource '/api/*',
|
|
headers: :any,
|
|
methods: [:post, :put, :delete, :get, :patch, :options],
|
|
credentials: false,
|
|
expose: ['Link', 'X-RateLimit-Reset', 'X-RateLimit-Limit', 'X-RateLimit-Remaining', 'X-Request-Id']
|
|
resource '/oauth/token',
|
|
headers: :any,
|
|
methods: [:post],
|
|
credentials: false
|
|
resource '/assets/*', headers: :any, methods: [:get, :head, :options]
|
|
resource '/stylesheets/*', headers: :any, methods: [:get, :head, :options]
|
|
resource '/javascripts/*', headers: :any, methods: [:get, :head, :options]
|
|
resource '/packs/*', headers: :any, methods: [:get, :head, :options]
|
|
end
|
|
end
|