serverless-fix-apigw-int
Version:
Fix to remove header mapping in integration request with Authorization header validation
35 lines (28 loc) • 1.13 kB
JavaScript
;
const _ = require('lodash');
const Class = require('class.extend');
module.exports = Class.extend({
init: function(serverless, opts) {
this._serverless = serverless;
this._opts = opts;
this.hooks = {
'after:package:compileEvents': this.removeAuthHeaders.bind(this),
};
},
removeAuthHeaders: function() {
const template = this._serverless.service.provider.compiledCloudFormationTemplate;
let self = this;
Object.keys(template.Resources).forEach(function(key){
if (template.Resources[key]['Type'] == 'AWS::ApiGateway::Method') {
let method = template.Resources[key];
if(method.Properties && method.Properties.Integration && method.Properties.Integration.RequestParameters){
let requestParams = method.Properties.Integration.RequestParameters;
if(requestParams['integration.request.header.Authorization']){
delete requestParams['integration.request.header.Authorization'];
self._serverless.cli.log('Removed Authorization header from integration request');
}
}
}
})
},
});