edfcore 0.6.301 → 0.6.302

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.
@@ -109,5 +109,5 @@ export declare const SIGNAL_FIELD_BLOCK_OFFSETS: {
109
109
  readonly reserved: 224;
110
110
  };
111
111
  /** Published package version. Kept in sync with package.json by a test. */
112
- export declare const VERSION = "0.6.301";
112
+ export declare const VERSION = "0.6.302";
113
113
  //# sourceMappingURL=constants.d.ts.map
package/dist/constants.js CHANGED
@@ -79,5 +79,5 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
79
79
  reserved: 224,
80
80
  };
81
81
  /** Published package version. Kept in sync with package.json by a test. */
82
- export const VERSION = '0.6.301';
82
+ export const VERSION = '0.6.302';
83
83
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/io/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAEV,UAAU,EAGV,iBAAiB,EAElB,MAAM,aAAa,CAAC;AA4ZrB;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACvC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CA4SrB"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/io/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAEV,UAAU,EAGV,iBAAiB,EAElB,MAAM,aAAa,CAAC;AA8ZrB;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EACvC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,UAAU,CAAC,CA2UrB"}
package/dist/io/http.js CHANGED
@@ -20,6 +20,8 @@ import { assertExactRead, assertReadOptions, assertReadRange, throwIfSignalAbort
20
20
  /** Small enough to stay polite to a shared origin, large enough to hide latency. */
21
21
  const DEFAULT_MAX_CONCURRENCY = 4;
22
22
  const HTTP_PARTIAL_CONTENT = 206;
23
+ /** The server read the Range header and the range is outside the resource as it stands now. */
24
+ const HTTP_RANGE_NOT_SATISFIABLE = 416;
23
25
  const HTTP_OK = 200;
24
26
  function createGate(limit) {
25
27
  let active = 0;
@@ -599,6 +601,33 @@ export async function httpSource(url, options) {
599
601
  }
600
602
  return sliceFullBody(await fullBodyInflight, offset, length, href, byteLength);
601
603
  }
604
+ /*
605
+ * 416 is the one status that says what is wrong, so it must not be guessed at.
606
+ *
607
+ * The sentence below covers the statuses that mean "we could not serve you" — 404, 500, 304 —
608
+ * and its advice is about reaching the resource at all: the URL, the auth headers, an expired
609
+ * signature. 416 is the opposite of unreachable. The server read the Range header, understood
610
+ * it, and is reporting that the range lies past the end of the resource AS IT STANDS NOW — so
611
+ * the length this source was built on is stale, and nothing about the URL or its credentials
612
+ * has anything to do with it.
613
+ *
614
+ * `blob.ts` makes exactly this argument for its own short read: `assertExactRead` "accuses the
615
+ * browser of breaking a contract it kept", and "a picked File is a handle on a file that can
616
+ * still change — the backing file was truncated or replaced since it was chosen, so ask for it
617
+ * again". A URL is the same handle over the network, and this adapter already diagnoses two
618
+ * other transport specifics by hand — a 200 that ignored Range, and a Content-Range naming a
619
+ * different part of the resource — so 416 was the one it lumped in with the rest.
620
+ *
621
+ * Not advice to clamp the read, either: the range was inside the file this source measured,
622
+ * and a caller who clamps is reading a prefix of a resource that changed under them (0.6.302).
623
+ */
624
+ if (response.status === HTTP_RANGE_NOT_SATISFIABLE) {
625
+ throw new EdfSourceError(`Reading bytes ${offset}..${offset + length - 1} of ${href}: the server answered HTTP 416 ` +
626
+ 'Range Not Satisfiable, so it read the Range header and that range is past the end of ' +
627
+ `the resource as it stands now — this source was built for ${byteLength} bytes. Next: ` +
628
+ 'the resource was replaced or truncated since its length was probed, so build the source ' +
629
+ 'again rather than clamping the read.', { offset, requestedLength: length });
630
+ }
602
631
  throw new EdfSourceError(`Reading bytes ${offset}..${offset + length - 1} of ${href} failed: the server ` +
603
632
  `answered HTTP ${response.status}. Next: check the URL, its authentication headers ` +
604
633
  'and whether a signed URL has expired.', { offset, requestedLength: length });
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/io/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/io/http.ts"],"names":[],"mappings":"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"}
package/docs/CHANGELOG.md CHANGED
@@ -6,6 +6,26 @@ alone does not tell you whether you were affected.
6
6
  edfcore is pre-1.0. Patch releases have carried behaviour changes where the old behaviour was a
7
7
  defect; those are called out below.
8
8
 
9
+ ## 0.6.302
10
+
11
+ - **Fixed** `httpSource` answering HTTP 416 with advice about authentication. The catch-all it fell
12
+ into covers the statuses that mean "we could not serve you" — 404, 500, 304 — and its advice is
13
+ about reaching the resource at all: "check the URL, its authentication headers and whether a signed
14
+ URL has expired."
15
+ - 416 is the opposite of unreachable. The server read the Range header, understood it, and is
16
+ reporting that the range lies past the end of the resource as it stands now — so the length this
17
+ source was built on is stale, and the URL and its credentials have nothing to do with it. The
18
+ message now says that, and names the byte length the source was built for.
19
+ - Nor is clamping the answer: the range was inside the file this source measured, so a caller who
20
+ clamps reads a prefix of a resource that changed under them. The advice is to build the source
21
+ again.
22
+ - `blob.ts` is the precedent and makes the same argument for its own short read — `assertExactRead`
23
+ "accuses the browser of breaking a contract it kept", and a picked File "was truncated or replaced
24
+ since it was chosen, so ask for it again". A URL is the same handle over the network.
25
+ - This adapter already diagnoses two other transport specifics by hand — a 200 that ignored Range,
26
+ and a Content-Range naming a different part of the resource — so 416 was the one status that says
27
+ what is wrong and the one being guessed at. The unreachable statuses keep their own advice.
28
+
9
29
  ## 0.6.301
10
30
 
11
31
  - **Fixed** the note `edfcore header` prints for a discontinuous file running two clauses together.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edfcore",
3
- "version": "0.6.301",
3
+ "version": "0.6.302",
4
4
  "description": "Modern, typed, zero-dependency reader for EDF, EDF+, BDF and BDF+ biosignal files. Works in browsers and Node with true random access.",
5
5
  "keywords": [
6
6
  "edf",
package/src/constants.ts CHANGED
@@ -93,4 +93,4 @@ export const SIGNAL_FIELD_BLOCK_OFFSETS = {
93
93
  } as const;
94
94
 
95
95
  /** Published package version. Kept in sync with package.json by a test. */
96
- export const VERSION = '0.6.301';
96
+ export const VERSION = '0.6.302';
package/src/io/http.ts CHANGED
@@ -36,6 +36,8 @@ import {
36
36
  const DEFAULT_MAX_CONCURRENCY = 4;
37
37
 
38
38
  const HTTP_PARTIAL_CONTENT = 206;
39
+ /** The server read the Range header and the range is outside the resource as it stands now. */
40
+ const HTTP_RANGE_NOT_SATISFIABLE = 416;
39
41
  const HTTP_OK = 200;
40
42
 
41
43
  type RequestInitLike = { headers: Record<string, string>; method?: string };
@@ -716,6 +718,37 @@ export async function httpSource(
716
718
  return sliceFullBody(await fullBodyInflight, offset, length, href, byteLength);
717
719
  }
718
720
 
721
+ /*
722
+ * 416 is the one status that says what is wrong, so it must not be guessed at.
723
+ *
724
+ * The sentence below covers the statuses that mean "we could not serve you" — 404, 500, 304 —
725
+ * and its advice is about reaching the resource at all: the URL, the auth headers, an expired
726
+ * signature. 416 is the opposite of unreachable. The server read the Range header, understood
727
+ * it, and is reporting that the range lies past the end of the resource AS IT STANDS NOW — so
728
+ * the length this source was built on is stale, and nothing about the URL or its credentials
729
+ * has anything to do with it.
730
+ *
731
+ * `blob.ts` makes exactly this argument for its own short read: `assertExactRead` "accuses the
732
+ * browser of breaking a contract it kept", and "a picked File is a handle on a file that can
733
+ * still change — the backing file was truncated or replaced since it was chosen, so ask for it
734
+ * again". A URL is the same handle over the network, and this adapter already diagnoses two
735
+ * other transport specifics by hand — a 200 that ignored Range, and a Content-Range naming a
736
+ * different part of the resource — so 416 was the one it lumped in with the rest.
737
+ *
738
+ * Not advice to clamp the read, either: the range was inside the file this source measured,
739
+ * and a caller who clamps is reading a prefix of a resource that changed under them (0.6.302).
740
+ */
741
+ if (response.status === HTTP_RANGE_NOT_SATISFIABLE) {
742
+ throw new EdfSourceError(
743
+ `Reading bytes ${offset}..${offset + length - 1} of ${href}: the server answered HTTP 416 ` +
744
+ 'Range Not Satisfiable, so it read the Range header and that range is past the end of ' +
745
+ `the resource as it stands now — this source was built for ${byteLength} bytes. Next: ` +
746
+ 'the resource was replaced or truncated since its length was probed, so build the source ' +
747
+ 'again rather than clamping the read.',
748
+ { offset, requestedLength: length },
749
+ );
750
+ }
751
+
719
752
  throw new EdfSourceError(
720
753
  `Reading bytes ${offset}..${offset + length - 1} of ${href} failed: the server ` +
721
754
  `answered HTTP ${response.status}. Next: check the URL, its authentication headers ` +