@@ -584,6 +584,7 @@ class Offline {
584
584
let result = data ;
585
585
let responseName = 'default' ;
586
586
const responseContentType = endpoint . responseContentType ;
587
+ const contentHandling = endpoint . contentHandling ;
587
588
588
589
/* RESPONSE SELECTION (among endpoint's possible responses) */
589
590
@@ -731,7 +732,14 @@ class Offline {
731
732
override : false , // Maybe a responseParameter set it already. See #34
732
733
} ) ;
733
734
response . statusCode = statusCode ;
734
- response . source = result ;
735
+ if ( contentHandling === 'CONVERT_TO_BINARY' ) {
736
+ response . encoding = 'binary' ;
737
+ response . source = Buffer . from ( result , 'base64' ) ;
738
+ response . variety = 'buffer' ;
739
+ }
740
+ else {
741
+ response . source = result ;
742
+ }
735
743
}
736
744
else if ( integration === 'lambda-proxy' ) {
737
745
response . statusCode = statusCode = result . statusCode || 200 ;
@@ -742,7 +750,7 @@ class Offline {
742
750
if ( ! _ . isUndefined ( result . body ) ) {
743
751
if ( result . isBase64Encoded ) {
744
752
response . encoding = 'binary' ;
745
- response . source = new Buffer ( result . body , 'base64' ) ;
753
+ response . source = Buffer . from ( result . body , 'base64' ) ;
746
754
response . variety = 'buffer' ;
747
755
}
748
756
else {
0 commit comments