@webqit/webflo 0.20.59 → 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.59",
15
+ "version": "0.20.61",
16
16
  "license": "MIT",
17
17
  "repository": {
18
18
  "type": "git",
@@ -47,7 +47,7 @@
47
47
  "dependencies": {
48
48
  "@octokit/webhooks": "^7.15.1",
49
49
  "@webqit/backpack": "^0.1.12",
50
- "@webqit/fetch-plus": "^0.1.29",
50
+ "@webqit/fetch-plus": "^0.1.30",
51
51
  "@webqit/keyval": "^0.2.17",
52
52
  "@webqit/observer": "^3.8.14",
53
53
  "@webqit/oohtml-ssr": "^2.2.4",
@@ -273,14 +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
280
  const currentStart = (streams[streams.length - 1]?.end || -1) + 1;
281
+
281
282
  if (!range.canResolveAgainst(currentStart, stats.size)) return; // Only after rendering()
282
- 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
+ }
283
290
  }, []);
291
+
284
292
  if (!streams) {
285
293
  return new Response(null, {
286
294
  status: 416, statusText: 'Requested Range Not Satisfiable', headers: {
@@ -288,6 +296,7 @@ export class AppRuntime {
288
296
  }
289
297
  });
290
298
  }
299
+
291
300
  const streamJoin = this.streamJoin(streams, stats.mime, stats.size);
292
301
  response = new Response(streamJoin.stream, { status: 206, statusText: 'Partial Content' });
293
302
  if (streamJoin.boundary) {
@@ -302,6 +311,7 @@ export class AppRuntime {
302
311
  response.headers.set('Content-Type', stats.mime);
303
312
  response.headers.set('Content-Length', stats.size);
304
313
  }
314
+
305
315
  return response;
306
316
  }
307
317
  }
@@ -138,7 +138,6 @@ export class WebfloServer extends AppRuntime {
138
138
  if (revalidate
139
139
  || !this.#buildContexts[realm]) {
140
140
  await this.#buildContexts[realm]?.dispose();
141
- console.info('Building routes...');
142
141
 
143
142
  const entryPoints = await $glob(`${routeDirs[realm]}/**/handler{,.${realm}}.js`, { absolute: true })
144
143
  .then((files) => files.map((f) => f.replace(/\\/g, '/')));