From 3ccf8027485f51ec759dfc00264eea9ff91be5b9 Mon Sep 17 00:00:00 2001 From: weiyie <912881342@qq.com> Date: Fri, 3 Jul 2020 12:51:20 +0800 Subject: [PATCH] fix(browser): put unhandle non-RequestTimeTooSkewed error --- lib/browser/object.js | 2 ++ test/browser/browser.test.js | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/lib/browser/object.js b/lib/browser/object.js index 790f9f668..15f312f72 100644 --- a/lib/browser/object.js +++ b/lib/browser/object.js @@ -84,6 +84,8 @@ proto.put = async function put(name, file, options) { if (err.code === 'RequestTimeTooSkewed') { this.options.amendTimeSkewed = +new Date(err.serverTime) - new Date(); return await this.put(name, file, options); + } else { + throw err; } } } else { diff --git a/test/browser/browser.test.js b/test/browser/browser.test.js index d67e3cab6..2fec54629 100644 --- a/test/browser/browser.test.js +++ b/test/browser/browser.test.js @@ -562,6 +562,21 @@ describe('browser', () => { assert(true); } }); + + it('should throw ConnectionTimeoutError when putstream timeout', async () => { + const name = `${prefix}put/test`; + const content = Array(1024 * 1024 * 10).fill(1).join(''); + const body = new Blob([content], { type: 'text/plain' }); + try { + await store.put(name, body, { + timeout: 300 + }); + assert(false); + } catch (error) { + assert(error.name === 'ConnectionTimeoutError'); + } + }); + }); describe('test-content-type', () => {