From 948e24d66ac4bdf4a99c65f6b28c105309508326 Mon Sep 17 00:00:00 2001 From: Nik Graf Date: Mon, 28 Nov 2016 19:06:47 +0100 Subject: [PATCH 1/2] wip --- .../handler.js | 21 +++++++++++++++++++ .../serverless.yml | 14 +++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 aws-node-dynamic-binary-via-http-endpoint/handler.js create mode 100644 aws-node-dynamic-binary-via-http-endpoint/serverless.yml diff --git a/aws-node-dynamic-binary-via-http-endpoint/handler.js b/aws-node-dynamic-binary-via-http-endpoint/handler.js new file mode 100644 index 000000000..41ee4273e --- /dev/null +++ b/aws-node-dynamic-binary-via-http-endpoint/handler.js @@ -0,0 +1,21 @@ +'use strict'; + +const pngImageContent = `8950 4e47 0d0a 1a0a 0000 000d 4948 4452 +0000 000a 0000 000a 0806 0000 008d 32cf +bd00 0000 1849 4441 5418 9563 3431 ccfd +cf40 0460 2246 d1a8 42ea 2904 00f4 9d01 +e5cb 80a9 bf00 0000 0049 454e 44ae 4260 +82`; + +module.exports.image = (event, context, callback) => { + const response = { + statusCode: 200, + headers: { + 'Content-Type': 'image/png', + }, + body: pngImageContent, + }; + + // callback is sending HTML back + callback(null, response); +}; diff --git a/aws-node-dynamic-binary-via-http-endpoint/serverless.yml b/aws-node-dynamic-binary-via-http-endpoint/serverless.yml new file mode 100644 index 000000000..8f24d61f2 --- /dev/null +++ b/aws-node-dynamic-binary-via-http-endpoint/serverless.yml @@ -0,0 +1,14 @@ +service: dynamic-binary-via-http-endpoint +frameworkVersion: ">=1.1.0 <2.0.0" + +provider: + name: aws + runtime: nodejs4.3 + +functions: + image: + handler: handler.image + events: + - http: + method: get + path: image From b38675bed1f2ee4edf659b32986814f702031e6b Mon Sep 17 00:00:00 2001 From: Nik Graf Date: Wed, 7 Dec 2016 10:32:53 +0100 Subject: [PATCH 2/2] experiments --- .../block.png | Bin 0 -> 81 bytes .../block2.jpg | Bin 0 -> 635 bytes .../handler.js | 25 +++++++++--------- .../package.json | 10 +++++++ .../serverless.yml | 5 ++++ 5 files changed, 27 insertions(+), 13 deletions(-) create mode 100644 aws-node-dynamic-binary-via-http-endpoint/block.png create mode 100644 aws-node-dynamic-binary-via-http-endpoint/block2.jpg create mode 100644 aws-node-dynamic-binary-via-http-endpoint/package.json diff --git a/aws-node-dynamic-binary-via-http-endpoint/block.png b/aws-node-dynamic-binary-via-http-endpoint/block.png new file mode 100644 index 0000000000000000000000000000000000000000..522fdff97ac5f3d59d7c21f9c1c33ddaba292b6e GIT binary patch literal 81 zcmeAS@N?(olHy`uVBq!ia0vp^AT}2V8<6ZZI=>f4NqD+AhDc0JHZeT&_q+p3f|A?C e6;7`-Ss1>|Wqf+NVdZ|H8U{~SKbLh*2~7apBNmJR literal 0 HcmV?d00001 diff --git a/aws-node-dynamic-binary-via-http-endpoint/block2.jpg b/aws-node-dynamic-binary-via-http-endpoint/block2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..046d4e4bd2d0971dca31347c983761e02b11c02a GIT binary patch literal 635 zcmex=w z;zMJxqz@`ZO&?XAO@b#a+LT;;$kauB^5V^A;vp#|hc7+iP;2Jol8|hf;_9|!OW5U5 z4XIC$KOedB(r%Nk6wNHHLa{|+OloOu08u^?jD|A-adW#_T$%|f4A_6$f)R; zv0}%G8!vunT6#uiR(8%@x%1@Bmp`?vyrQzIx@N7~b?VluUxGmY0A0z-3iJaD2Qzan z&_9CAEFc%N1_E8oR@gYvXyL{WA_p%%RCW>#N-FwjtYYHaBsM8nby4!BL+r(uOdq*4 zi-$}GhK_`!nwhJVdP+&C`KQI34{K;%e*C#*%91UpPIe1JI2xy$@i_VaEe0NDVDt$x a2{PC-eBW0y?O)Aq(fa=v5X_7JZvp_5hr~?) literal 0 HcmV?d00001 diff --git a/aws-node-dynamic-binary-via-http-endpoint/handler.js b/aws-node-dynamic-binary-via-http-endpoint/handler.js index 41ee4273e..f4ef64607 100644 --- a/aws-node-dynamic-binary-via-http-endpoint/handler.js +++ b/aws-node-dynamic-binary-via-http-endpoint/handler.js @@ -1,20 +1,19 @@ 'use strict'; -const pngImageContent = `8950 4e47 0d0a 1a0a 0000 000d 4948 4452 -0000 000a 0000 000a 0806 0000 008d 32cf -bd00 0000 1849 4441 5418 9563 3431 ccfd -cf40 0460 2246 d1a8 42ea 2904 00f4 9d01 -e5cb 80a9 bf00 0000 0049 454e 44ae 4260 -82`; +const fs = require('fs'); module.exports.image = (event, context, callback) => { - const response = { - statusCode: 200, - headers: { - 'Content-Type': 'image/png', - }, - body: pngImageContent, - }; + const imageContent = fs.readFileSync('./block.png'); + // const response = { + // body: imageContent.toString('base64'), + // isBase64Encoded: true, + // statusCode: 200, + // headers: { + // 'Content-Type': 'image/png', + // }, + // }; + + const response = imageContent.toString('base64'); // callback is sending HTML back callback(null, response); diff --git a/aws-node-dynamic-binary-via-http-endpoint/package.json b/aws-node-dynamic-binary-via-http-endpoint/package.json new file mode 100644 index 000000000..cc8244e4c --- /dev/null +++ b/aws-node-dynamic-binary-via-http-endpoint/package.json @@ -0,0 +1,10 @@ +{ + "name": "serverless-dynamic-binary-via-http-endpoint", + "version": "1.0.0", + "description": "", + "author": "", + "license": "MIT", + "dependencies": { + "pngjs": "^3.0.0" + } +} diff --git a/aws-node-dynamic-binary-via-http-endpoint/serverless.yml b/aws-node-dynamic-binary-via-http-endpoint/serverless.yml index 8f24d61f2..1a67dda83 100644 --- a/aws-node-dynamic-binary-via-http-endpoint/serverless.yml +++ b/aws-node-dynamic-binary-via-http-endpoint/serverless.yml @@ -12,3 +12,8 @@ functions: - http: method: get path: image + integration: lambda + request: + passThrough: WHEN_NO_TEMPLATES + template: + image/png: '{}'