forked from francoislg/PPaaS
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
37 lines (32 loc) · 1.36 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
const ParrotConstructor = require("./src/ParrotConstructor");
const path = require("path");
const express = require("express");
const request = require("request-promise");
var app = express();
app.get("/partyparrot", (req, res, done) => {
handleRequest(res, req.query);
});
function handleRequest(res, queryParams) {
let fileName = "generatedparrot.gif";
res.writeHead(200, { "Content-Type":"image/gif" });
let parrotConstructor = new ParrotConstructor(res, queryParams);
var promises = [];
if(queryParams.overlay) {
var overlayPromise = parrotConstructor.addFollowingOverlayImage(queryParams.overlay,
parseInt(queryParams.overlayOffsetX),
parseInt(queryParams.overlayOffsetY),
queryParams.overlayWidth,
queryParams.overlayHeight);
promises.push(overlayPromise);
}
if (promises.length > 0) {
Promise.all(promises).then(() => {
parrotConstructor.finish();
}).catch((reason) => {
console.error(reason);
})
} else {
parrotConstructor.finish();
}
}
app.listen(process.env.PORT || 8080);