0
Fork 0
mirror of https://github.com/TryGhost/Ghost.git synced 2025-01-06 22:40:14 -05:00

🐛 re-order api middlewares: cors middleware before connect-slashes (#7861)

closes #7839

- when a browser sends a request to the API without a trailing slash, we are using connect-slashes to redirect permanently
- but because the CORS middleware was registered after the redirect, the CORS headers got lost
This commit is contained in:
Katharina Irrgang 2017-01-18 18:36:47 +01:00 committed by Kevin Ansfield
parent 2f3081fa9f
commit 4a4b2f62cc

View file

@ -35,17 +35,13 @@ var debug = require('debug')('ghost:api'),
authenticatePublic = [ authenticatePublic = [
auth.authenticate.authenticateClient, auth.authenticate.authenticateClient,
auth.authenticate.authenticateUser, auth.authenticate.authenticateUser,
auth.authorize.requiresAuthorizedUserPublicAPI, auth.authorize.requiresAuthorizedUserPublicAPI
// @TODO do we really need this multiple times or should it be global?
cors
], ],
// Require user for private endpoints // Require user for private endpoints
authenticatePrivate = [ authenticatePrivate = [
auth.authenticate.authenticateClient, auth.authenticate.authenticateClient,
auth.authenticate.authenticateUser, auth.authenticate.authenticateUser,
auth.authorize.requiresAuthorizedUser, auth.authorize.requiresAuthorizedUser
// @TODO do we really need this multiple times or should it be global?
cors
]; ];
// @TODO refactor/clean this up - how do we want the routing to work long term? // @TODO refactor/clean this up - how do we want the routing to work long term?
@ -226,6 +222,8 @@ module.exports = function setupApiApp() {
apiApp.use(bodyParser.json({limit: '1mb'})); apiApp.use(bodyParser.json({limit: '1mb'}));
apiApp.use(bodyParser.urlencoded({extended: true, limit: '1mb'})); apiApp.use(bodyParser.urlencoded({extended: true, limit: '1mb'}));
apiApp.use(cors);
// send 503 json response in case of maintenance // send 503 json response in case of maintenance
apiApp.use(maintenance); apiApp.use(maintenance);