mirror of
https://github.com/usebruno/bruno.git
synced 2025-06-24 05:51:22 +02: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 { get, each, filter } = require('lodash');
|
||||||
|
const fs = require('fs');
|
||||||
const decomment = require('decomment');
|
const decomment = require('decomment');
|
||||||
|
|
||||||
const prepareRequest = (request, collectionRoot) => {
|
const prepareRequest = (request, collectionRoot) => {
|
||||||
@ -106,10 +107,15 @@ const prepareRequest = (request, collectionRoot) => {
|
|||||||
if (request.body.mode === 'multipartForm') {
|
if (request.body.mode === 'multipartForm') {
|
||||||
const params = {};
|
const params = {};
|
||||||
const enabledParams = filter(request.body.multipartForm, (p) => p.enabled);
|
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.headers['content-type'] = 'multipart/form-data';
|
||||||
axiosRequest.data = params;
|
axiosRequest.data = params;
|
||||||
// TODO: Add support for file uploads
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (request.body.mode === 'graphql') {
|
if (request.body.mode === 'graphql') {
|
||||||
|
@ -40,10 +40,13 @@ const runSingleRequest = async function (
|
|||||||
// make axios work in node using form data
|
// make axios work in node using form data
|
||||||
// reference: https://github.com/axios/axios/issues/1006#issuecomment-320165427
|
// reference: https://github.com/axios/axios/issues/1006#issuecomment-320165427
|
||||||
if (request.headers && request.headers['content-type'] === 'multipart/form-data') {
|
if (request.headers && request.headers['content-type'] === 'multipart/form-data') {
|
||||||
// TODO: Add support for file uploads
|
|
||||||
const form = new FormData();
|
const form = new FormData();
|
||||||
forOwn(request.data, (value, key) => {
|
forOwn(request.data, (value, key) => {
|
||||||
|
if (value instanceof Array) {
|
||||||
|
each(value, (v) => form.append(key, v));
|
||||||
|
} else {
|
||||||
form.append(key, value);
|
form.append(key, value);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
extend(request.headers, form.getHeaders());
|
extend(request.headers, form.getHeaders());
|
||||||
request.data = form;
|
request.data = form;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user