mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 18:08:11 +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.
 | ||||
| const _ = require('lodash'); | ||||
| const request = require('./helpers/request'); | ||||
| const response = require('./helpers/response'); | ||||
| 
 | ||||
| /** | ||||
| @ -64,6 +65,18 @@ module.exports = function (strapi) { | ||||
|       strapi.app.use(interceptor); | ||||
| 
 | ||||
|       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.
 | ||||
| const regex = require('../../../../util/regex'); | ||||
| const JSONAPI = require('../jsonapi')(); | ||||
| 
 | ||||
| /** | ||||
|  * Router hook | ||||
| @ -86,6 +87,7 @@ module.exports = function (strapi) { | ||||
| 
 | ||||
|             // Add the `globalPolicy`.
 | ||||
|             policies.push(globalPolicy(endpoint, value, route)); | ||||
|             policies.push(JSONAPI.parse); | ||||
| 
 | ||||
|             if (_.isArray(value.policies) && !_.isEmpty(value.policies)) { | ||||
|               _.forEach(value.policies, function (policy) { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Aurélien Georget
						Aurélien Georget