HTTP Accept-Ranges header field parser.
Compliant with RFC 9110, 14.3. Accept-Ranges.
Parses string into AcceptRanges.
import { parseAcceptRanges } from "https://deno.land/x/accept_ranges_parser@$VERSION/parse.ts";
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
assertEquals(parseAcceptRanges(`none`), ["none"]);
assertEquals(parseAcceptRanges(`bytes, unknown`), ["bytes", "unknown"]);
Throws SyntaxError
if the input is invalid
<Accept-Ranges>
syntax.
import { parseAcceptRanges } from "https://deno.land/x/accept_ranges_parser@$VERSION/parse.ts";
import { assertThrows } from "https://deno.land/std/testing/asserts.ts";
assertThrows(() => parseAcceptRanges("<invalid>"));
Serialize string of array into string.
import { stringifyAcceptRanges } from "https://deno.land/x/accept_ranges_parser@$VERSION/stringify.ts";
import { assertEquals } from "https://deno.land/std/testing/asserts.ts";
assertEquals(stringifyAcceptRanges(["bytes"]), "bytes");
Throws TypeError
if the element contains invalid
<range-unit>
syntax.
import { stringifyAcceptRanges } from "https://deno.land/x/accept_ranges_parser@$VERSION/stringify.ts";
import { assertThrows } from "https://deno.land/std/testing/asserts.ts";
assertThrows(() => stringifyAcceptRanges(["<invalid>", "none"]));
AcceptRanges
is a subtype of array with the following characteristics.
- It has one or more elements.
- The elements are Token.
Represents a character set that compliant with RFC 9110, 5.6.2. Tokens as much as possible.
All APIs can be found in the deno doc.
Copyright © 2023-present httpland.
Released under the MIT license