mirror of
https://github.com/strapi/strapi.git
synced 2025-07-25 01:49:34 +00:00
Add middleware to parse data request
This commit is contained in:
parent
8408538f21
commit
9dd94e72a2
23
lib/configuration/hooks/jsonapi/helpers/request.js
Normal file
23
lib/configuration/hooks/jsonapi/helpers/request.js
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Module dependencies
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Public node modules.
|
||||||
|
const _ = require('lodash');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JSON API helper
|
||||||
|
*/
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
default: {},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse request
|
||||||
|
*/
|
||||||
|
|
||||||
|
parse: function (ctx) {}
|
||||||
|
};
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
// Public node modules.
|
// Public node modules.
|
||||||
const _ = require('lodash');
|
const _ = require('lodash');
|
||||||
|
const request = require('./helpers/request');
|
||||||
const response = require('./helpers/response');
|
const response = require('./helpers/response');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -64,6 +65,18 @@ module.exports = function (strapi) {
|
|||||||
strapi.app.use(interceptor);
|
strapi.app.use(interceptor);
|
||||||
|
|
||||||
cb();
|
cb();
|
||||||
|
},
|
||||||
|
|
||||||
|
parse: function * (next) {
|
||||||
|
// Verify Content-Type header
|
||||||
|
if (this.request.type !== 'application/vnd.api+json') {
|
||||||
|
this.status = 406;
|
||||||
|
this.body = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
request.parse(this);
|
||||||
|
|
||||||
|
yield next;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ const _ = require('lodash');
|
|||||||
|
|
||||||
// Local utilities.
|
// Local utilities.
|
||||||
const regex = require('../../../../util/regex');
|
const regex = require('../../../../util/regex');
|
||||||
|
const JSONAPI = require('../jsonapi')();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Router hook
|
* Router hook
|
||||||
@ -86,6 +87,7 @@ module.exports = function (strapi) {
|
|||||||
|
|
||||||
// Add the `globalPolicy`.
|
// Add the `globalPolicy`.
|
||||||
policies.push(globalPolicy(endpoint, value, route));
|
policies.push(globalPolicy(endpoint, value, route));
|
||||||
|
policies.push(JSONAPI.parse);
|
||||||
|
|
||||||
if (_.isArray(value.policies) && !_.isEmpty(value.policies)) {
|
if (_.isArray(value.policies) && !_.isEmpty(value.policies)) {
|
||||||
_.forEach(value.policies, function (policy) {
|
_.forEach(value.policies, function (policy) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user