2
0
mirror of https://github.com/yagop/node-telegram-bot-api synced 2025-08-30 13:58:27 +00:00

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

This commit is contained in:
GochoMugo 2017-01-25 18:59:06 +03:00
parent 99f364df11
commit a32259b1a1
No known key found for this signature in database
GPG Key ID: 7B6A01CB57AA39E4
2 changed files with 8 additions and 1 deletions

View File

@ -195,7 +195,9 @@ class TelegramBot extends EventEmitter {
let fileName;
let fileId;
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[type] = {
value: data,

View File

@ -991,5 +991,10 @@ describe('TelegramBot', function telegramSuite() {
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