Compare commits

...

12 Commits

Author SHA1 Message Date
c9f6198114 1.1.10 2018-07-20 00:35:24 +02:00
0a17591eae fix(formData): refactor formData 2018-07-20 00:35:23 +02:00
3417f09cdb 1.1.9 2018-07-20 00:04:37 +02:00
20dc3c9230 fix(now including right headers): update 2018-07-20 00:04:37 +02:00
6f865a356f 1.1.8 2018-07-20 00:01:41 +02:00
71a6ffef96 fix(core): update 2018-07-20 00:01:41 +02:00
189916e62b 1.1.7 2018-07-19 23:32:44 +02:00
33e36b5d44 fix(formData): return response 2018-07-19 23:32:43 +02:00
dbe999eea7 1.1.6 2018-07-19 23:22:19 +02:00
31b326cf51 update the way requests are ended 2018-07-19 23:22:11 +02:00
0c03763281 1.1.5 2018-07-19 23:13:17 +02:00
21e85062f7 fix(path resolution): now correctly looking in cwd 2018-07-19 23:13:16 +02:00
4 changed files with 20 additions and 32 deletions

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartrequest",
"version": "1.1.4",
"version": "1.1.10",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartrequest",
"version": "1.1.4",
"version": "1.1.10",
"private": false,
"description": "dropin replacement for request",
"main": "dist/index.js",

View File

@ -11,35 +11,18 @@ export interface IFormField {
payload: string;
}
/**
* retrieve the FormData headers in reliable way
* @param formDataArg
*/
const getFormDataHeaders = (formDataArg: plugins.formData) => {
const done = plugins.smartpromise.defer();
formDataArg.getLength((err, length) => {
if (err) {
done.reject(err);
}
const headers = Object.assign(
{ "Content-Length": length },
formDataArg.getHeaders()
);
done.resolve(headers);
});
return done.promise;
};
const appendFormField = async (
formDataArg: plugins.formData,
formDataField: IFormField
) => {
if (formDataField.type === "filePath") {
formDataArg.append("type", "image");
let fileData = plugins.fs.createReadStream(
plugins.path.join(__dirname, formDataField.payload)
let fileData = plugins.fs.readFileSync(
plugins.path.join(process.cwd(), formDataField.payload)
);
formDataArg.append("media", fileData, "upload.pdf");
formDataArg.append("file", fileData, {
filename: 'upload.pdf',
contentType: 'application/pdf'
});
}
};
@ -52,11 +35,15 @@ export const postFormData = async (
for (const formField of payloadArg) {
await appendFormField(form, formField);
}
const pipeLog: any = async (...args) => {
console.log(args);
};
const requestOptions = Object.assign({}, optionsArg, { requestBody: form });
const requestOptions = Object.assign({}, optionsArg, {
headers: {
...(optionsArg.headers),
...form.getHeaders()
},
requestBody: form
});
// lets fire the actual request for sending the formdata
request(urlArg, requestOptions);
const response = await request(urlArg, requestOptions);
return response;
};

View File

@ -96,9 +96,12 @@ export let request = async (
) {
optionsArg.requestBody = JSON.stringify(optionsArg.requestBody);
request.write(optionsArg.requestBody);
request.end();
} else if (optionsArg.requestBody instanceof plugins.formData) {
optionsArg.requestBody.pipe(request);
}
} else {
request.end();
}
// lets handle an error
@ -116,8 +119,6 @@ export let request = async (
}
});
request.end();
const result = await done.promise;
return result;
};