Я пытаюсь опубликовать необработанное тело с помощью restify. У меня правильная сторона приема, при использовании POSTman я могу отправить необработанный zip-файл, и файл правильно создается в файловой системе сервера. Тем не менее, я изо всех сил пытаюсь написать свой тест в мокко. Вот код, который у меня есть, любая помощь будет принята с благодарностью.
Я пробовал этот подход.
const should = require('should');
const restify = require('restify');
const fs = require('fs');
const port = 8080;
const url = 'http://localhost:' + port;
const client = restify.createJsonClient({
url: url,
version: '~1.0'
});
const testPath = 'test/assets/test.zip';
fs.existsSync(testPath).should.equal(true);
const readStream = fs.createReadStream(testPath);
client.post('/v1/deploy', readStream, function(err, req, res, data) {
if (err) {
throw new Error(err);
}
should(res).not.null();
should(res.statusCode).not.null();
should(res.statusCode).not.undefined();
res.statusCode.should.equal(200);
should(data).not.null();
should(data.endpoint).not.undefined();
data.endpoint.should.equal('http://endpointyouhit:8080');
done();
});
Однако размер файла в файловой системе всегда равен 0. Я неправильно использую свой readStream, но не знаю, как это исправить. Любая помощь будет принята с благодарностью.
Обратите внимание, что я хочу передавать файл в потоковом режиме, а не загружать его в память при передаче и приеме, файл потенциально может быть слишком большим для операции в памяти.
Спасибо, Тодд