2020-08-28 02:34:12 +00:00
|
|
|
const magick = require("../build/Release/image.node");
|
2020-09-01 22:10:19 +00:00
|
|
|
const fetch = require("node-fetch");
|
2020-08-28 02:34:12 +00:00
|
|
|
const { promisify } = require("util");
|
2020-09-01 22:10:19 +00:00
|
|
|
const FormData = require("form-data");
|
|
|
|
const { readFile } = require("fs").promises;
|
2020-08-28 02:34:12 +00:00
|
|
|
|
|
|
|
module.exports = async (object) => {
|
2020-09-01 22:10:19 +00:00
|
|
|
if (process.env.API === "true") {
|
|
|
|
const params = [];
|
|
|
|
for (const element of Object.keys(object)) {
|
|
|
|
params.push(`${element}=${object[element]}`);
|
|
|
|
}
|
|
|
|
const form = new FormData();
|
|
|
|
const data = await readFile(object.path);
|
|
|
|
form.append("image", data);
|
|
|
|
const req = await fetch(`${process.env.API_URL}/${object.cmd}?${params.join("&")}`, {
|
|
|
|
method: "POST",
|
|
|
|
body: form
|
|
|
|
});
|
|
|
|
return await req.buffer();
|
|
|
|
} else {
|
|
|
|
const data = await promisify(magick[object.cmd])(object);
|
|
|
|
return data;
|
|
|
|
}
|
2020-08-28 02:34:12 +00:00
|
|
|
};
|