mirror of
https://github.com/usebruno/bruno.git
synced 2025-02-22 04:31:35 +01:00
* feat(cli): add support for file upload * fix: remove wrong console log
This commit is contained in:
parent
2877a88a8a
commit
f8eac3469f
@ -1,4 +1,5 @@
|
||||
const { get, each, filter } = require('lodash');
|
||||
const fs = require('fs');
|
||||
const decomment = require('decomment');
|
||||
|
||||
const prepareRequest = (request, collectionRoot) => {
|
||||
@ -106,10 +107,15 @@ const prepareRequest = (request, collectionRoot) => {
|
||||
if (request.body.mode === 'multipartForm') {
|
||||
const params = {};
|
||||
const enabledParams = filter(request.body.multipartForm, (p) => p.enabled);
|
||||
each(enabledParams, (p) => (params[p.name] = p.value));
|
||||
each(enabledParams, (p) => {
|
||||
if (p.type === 'file') {
|
||||
params[p.name] = p.value.map((path) => fs.createReadStream(path));
|
||||
} else {
|
||||
params[p.name] = p.value;
|
||||
}
|
||||
});
|
||||
axiosRequest.headers['content-type'] = 'multipart/form-data';
|
||||
axiosRequest.data = params;
|
||||
// TODO: Add support for file uploads
|
||||
}
|
||||
|
||||
if (request.body.mode === 'graphql') {
|
||||
|
@ -40,10 +40,13 @@ const runSingleRequest = async function (
|
||||
// make axios work in node using form data
|
||||
// reference: https://github.com/axios/axios/issues/1006#issuecomment-320165427
|
||||
if (request.headers && request.headers['content-type'] === 'multipart/form-data') {
|
||||
// TODO: Add support for file uploads
|
||||
const form = new FormData();
|
||||
forOwn(request.data, (value, key) => {
|
||||
form.append(key, value);
|
||||
if (value instanceof Array) {
|
||||
each(value, (v) => form.append(key, v));
|
||||
} else {
|
||||
form.append(key, value);
|
||||
}
|
||||
});
|
||||
extend(request.headers, form.getHeaders());
|
||||
request.data = form;
|
||||
|
Loading…
Reference in New Issue
Block a user