serverless-apigateway-service-proxy icon indicating copy to clipboard operation
serverless-apigateway-service-proxy copied to clipboard

Add PassthroughBehavior and ContentHandling configuration options for SQS

Open haykgh opened this issue 6 months ago • 0 comments

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch [email protected] for the project I'm working on.

For SQS service, PassthroughBehavior option has 'NEVER' hardcoded value and ContentHandling option ignored. This patch aimed to fix this gap. Please add it to next release.

Here is the diff that solved my problem:

diff --git a/node_modules/serverless-apigateway-service-proxy/lib/package/sqs/compileMethodsToSqs.js b/node_modules/serverless-apigateway-service-proxy/lib/package/sqs/compileMethodsToSqs.js
index c9d0cc8..9c556b3 100644
--- a/node_modules/serverless-apigateway-service-proxy/lib/package/sqs/compileMethodsToSqs.js
+++ b/node_modules/serverless-apigateway-service-proxy/lib/package/sqs/compileMethodsToSqs.js
@@ -75,7 +75,16 @@ module.exports = {
       )
       integration.RequestTemplates = { 'application/json': '{statusCode:200}' }
     } else {
-      integration.PassthroughBehavior = 'NEVER'
+      if ('passThrough' in http.request) {
+        integration.PassthroughBehavior = http.request.passThrough
+      } else {
+        integration.PassthroughBehavior = 'NEVER'
+      }
+
+      if ('contentHandling' in http.request) {
+        integration.ContentHandling = http.request.contentHandling
+      }
+
       integration.RequestParameters = _.merge(
         {
           'integration.request.header.Content-Type': "'application/x-www-form-urlencoded'"

This issue body was partially generated by patch-package.

haykgh avatar Jul 31 '24 07:07 haykgh