Skip to content

Commit 7488074

Browse files
committed
fix: Remote source last slice behavior on last slice for some web servers
1 parent 890d7e3 commit 7488074

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/source/remote.js

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,16 @@ class RemoteSource extends BaseSource {
5151
}
5252

5353
async fetchSlices(slices, signal) {
54+
const end = (
55+
(this._fileSize && (offset + length >= this._fileSize))
56+
? this._fileSize - 1
57+
: offset + length
58+
);
5459
const response = await this.client.request({
5560
headers: {
5661
...this.headers,
5762
Range: `bytes=${slices
58-
.map(({ offset, length }) => `${offset}-${offset + length}`)
63+
.map(({ offset, length }) => `${offset}-${end}`)
5964
.join(',')
6065
}`,
6166
},
@@ -108,10 +113,15 @@ class RemoteSource extends BaseSource {
108113

109114
async fetchSlice(slice, signal) {
110115
const { offset, length } = slice;
116+
const end = (
117+
(this._fileSize && (offset + length >= this._fileSize))
118+
? this._fileSize - 1
119+
: offset + length
120+
);
111121
const response = await this.client.request({
112122
headers: {
113123
...this.headers,
114-
Range: `bytes=${offset}-${offset + length}`,
124+
Range: `bytes=${offset}-${end}`,
115125
},
116126
signal,
117127
});

0 commit comments

Comments
 (0)