@webqit/webflo 0.20.60 → 0.20.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -12,7 +12,7 @@
12
12
  "vanila-javascript"
13
13
  ],
14
14
  "homepage": "https://webqit.io/tooling/webflo",
15
- "version": "0.20.60",
15
+ "version": "0.20.61",
16
16
  "license": "MIT",
17
17
  "repository": {
18
18
  "type": "git",
@@ -273,15 +273,22 @@ export class AppRuntime {
273
273
  createStreamingResponse(httpEvent, readStream, stats) {
274
274
  let response;
275
275
  const requestRange = httpEvent.request.headers.get('Range', true); // Parses the Range header
276
+
276
277
  if (requestRange.length) {
277
278
  const streams = requestRange.reduce((streams, range) => {
278
279
  if (!streams) return;
279
- const [start, end] = range.resolveAgainst(stats.size); // Resolve offsets
280
- console.log('_______', range, stats.size, [start, end]);
281
280
  const currentStart = (streams[streams.length - 1]?.end || -1) + 1;
281
+
282
282
  if (!range.canResolveAgainst(currentStart, stats.size)) return; // Only after rendering()
283
- return streams.concat({ start, end, stream: readStream({ start, end }) });
283
+ const [start, end] = range.resolveAgainst(stats.size); // Resolve offsets
284
+
285
+ try {
286
+ return streams.concat({ start, end, stream: readStream({ start, end }) });
287
+ } catch(e) {
288
+ console.log('_______', httpEvent.request.headers.get('Range'), requestRange, stats.size, [start, end]);
289
+ }
284
290
  }, []);
291
+
285
292
  if (!streams) {
286
293
  return new Response(null, {
287
294
  status: 416, statusText: 'Requested Range Not Satisfiable', headers: {
@@ -289,6 +296,7 @@ export class AppRuntime {
289
296
  }
290
297
  });
291
298
  }
299
+
292
300
  const streamJoin = this.streamJoin(streams, stats.mime, stats.size);
293
301
  response = new Response(streamJoin.stream, { status: 206, statusText: 'Partial Content' });
294
302
  if (streamJoin.boundary) {
@@ -303,6 +311,7 @@ export class AppRuntime {
303
311
  response.headers.set('Content-Type', stats.mime);
304
312
  response.headers.set('Content-Length', stats.size);
305
313
  }
314
+
306
315
  return response;
307
316
  }
308
317
  }