Skip to content

Commit 51a024a

Browse files
committed
feat: support s3 response templates
1 parent da84da2 commit 51a024a

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

lib/apiGateway/schema.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,8 @@ const proxiesSchemas = {
267267
})
268268
}),
269269
requestParameters,
270-
request
270+
request,
271+
response: extendedResponse
271272
})
272273
}),
273274
sns: Joi.object({

lib/package/s3/compileMethodsToS3.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,11 @@ module.exports = {
119119
}
120120
},
121121

122+
getS3IntegrationResponseTemplate(http, statusType) {
123+
const template = _.get(http, ['response', 'template', statusType])
124+
return Object.assign({}, template && { 'application/json': template })
125+
},
126+
122127
getS3MethodIntegration(http) {
123128
const bucket = http.bucket
124129
const httpMethod = this.getIntegrationHttpMethod(http)
@@ -172,19 +177,19 @@ module.exports = {
172177
StatusCode: 400,
173178
SelectionPattern: '4\\d{2}',
174179
ResponseParameters: {},
175-
ResponseTemplates: {}
180+
ResponseTemplates: this.getS3IntegrationResponseTemplate(http, 'clientError')
176181
},
177182
{
178183
StatusCode: 500,
179184
SelectionPattern: '5\\d{2}',
180185
ResponseParameters: {},
181-
ResponseTemplates: {}
186+
ResponseTemplates: this.getS3IntegrationResponseTemplate(http, 'serverError')
182187
},
183188
{
184189
StatusCode: 200,
185190
SelectionPattern: '2\\d{2}',
186191
ResponseParameters: responseParams,
187-
ResponseTemplates: {}
192+
ResponseTemplates: this.getS3IntegrationResponseTemplate(http, 'success')
188193
}
189194
]
190195
}

0 commit comments

Comments
 (0)