Я хотел бы использовать ClientRequest с Electron. Я хочу добавить тело к своему запросу, но в документации не вижу информации о body
.
Мой объект запроса:
const requestApi = {
method,
headers,
protocol: process.env.API_PROTOCOL,
hostname: process.env.API_HOSTNAME,
port: process.env.API_PORT,
path: `${process.env.API_PATH}${slug}`,
body,
};
И моя просьба:
request.on('response', data => {
console.info('---------------------');
console.info(data);
data.on('data', chunk => {
console.info(chunk);
});
data.on('end', () => {
console.info('No more data in response.');
});
if (data.statusCode === 200) {
event.sender.send('api-response');
}
});
request.end();
Когда я console.info (data), данные представляют собой пустой массив data: []
.
Может кто-нибудь мне помочь ? :)
Спасибо!
ClientRequest - это Доступный для записи поток. Способ отправки основных данных в поток с возможностью записи - использовать .write()
и .end()
. Вы можете увидеть эти функции в документации API: ClientRequest.write()
и ClientRequest.end()
. Аргумент chunk
- это то, куда должны идти ваши данные.
В вашем примере это может выглядеть так:
const requestApi = {
method,
headers,
protocol: process.env.API_PROTOCOL,
hostname: process.env.API_HOSTNAME,
port: process.env.API_PORT,
path: `${process.env.API_PATH}${slug}`,
};
const request = new ClientRequest(requestApi);
request.on('response', data => { /* ... */ });
request.end(body);