Skip to content

Commit b41f2a0

Browse files
authored
Merge pull request #11 from MrMaximus/ISS-10
ISS-10: Do not stringify body if isBase64Encoded is true
2 parents 4572dec + 710b486 commit b41f2a0

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

src/index.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,11 @@ export default class Alpr {
7878

7979
responseData.statusCode = Number.isInteger(data.statusCode) ? data.statusCode : 200;
8080
responseData.headers = typeof data.headers === 'object' ? data.headers : {};
81-
responseData.body = JSON.stringify(data.body ? data.body : data);
8281
if (data.isBase64Encoded) {
82+
responseData.body = data.body || '';
8383
responseData.isBase64Encoded = true;
84+
} else {
85+
responseData.body = JSON.stringify(data.body || data);
8486
}
8587

8688
return instancedClass.callback(null, responseData);

test/index.js

+24-1
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ test.cb(
204204
t.plan(3);
205205
const lambdaCallback = (err, response) => {
206206
t.is(typeof response, 'object');
207-
t.deepEqual(response.body, '{}');
207+
t.deepEqual(response.body, {});
208208
t.true(response.isBase64Encoded);
209209
t.end();
210210
};
@@ -221,6 +221,29 @@ test.cb(
221221
}
222222
);
223223

224+
test.cb(
225+
'Route handler > returns isBase64Encoded on the response object when true in response data',
226+
(t) => {
227+
t.plan(3);
228+
const lambdaCallback = (err, response) => {
229+
t.is(typeof response, 'object');
230+
t.deepEqual(response.body, '');
231+
t.true(response.isBase64Encoded);
232+
t.end();
233+
};
234+
235+
const alprParams = Object.assign({}, data);
236+
alprParams.callback = lambdaCallback;
237+
238+
const alprLocal = new Alpr(alprParams);
239+
alprLocal.route({
240+
method: data.event.httpMethod,
241+
path: data.event.resource,
242+
handler: (requestData, response) => response({ isBase64Encoded: true }),
243+
});
244+
}
245+
);
246+
224247
test.cb(
225248
'Route handler > returns response object without isBase64Encoded when undefined in response data',
226249
(t) => {

0 commit comments

Comments
 (0)