src/telegram: Consider stream.path could not be parsed

experimental
GochoMugo 9 years ago
parent 99f364df11
commit a32259b1a1
No known key found for this signature in database
GPG Key ID: 7B6A01CB57AA39E4
  1. 4
      src/telegram.js
  2. 5
      test/telegram.js

@ -195,7 +195,9 @@ class TelegramBot extends EventEmitter {
let fileName; let fileName;
let fileId; let fileId;
if (data instanceof stream.Stream) { if (data instanceof stream.Stream) {
fileName = URL.parse(path.basename(data.path.toString())).pathname; // Will be 'null' if could not be parsed. Default to 'filename'.
// For example, 'data.path' === '/?id=123' from 'request("https://example.com/?id=123")'
fileName = URL.parse(path.basename(data.path.toString())).pathname || 'filename';
formData = {}; formData = {};
formData[type] = { formData[type] = {
value: data, value: data,

@ -991,5 +991,10 @@ describe('TelegramBot', function telegramSuite() {
assert.ok(err.response.body.indexOf('Bad Request') !== -1); assert.ok(err.response.body.indexOf('Bad Request') !== -1);
}); });
}); });
it('should allow stream.path that can not be parsed', function test() {
const stream = fs.createReadStream(`${__dirname}/data/photo.gif`);
stream.path = '/?id=123'; // for example, 'http://example.com/?id=666'
return bot.sendPhoto(USERID, stream);
});
}); });
}); // End Telegram }); // End Telegram

Loading…
Cancel
Save