Function acceptsLanguages

  • Returns an array of languages accepted by the request, in order of preference. If there are no languages supplied in the request, then ["*"] is returned, imply any language is accepted.

    Parameters

    • request: Pick<Request, "headers">

      The request to get the acceptable languages for.

    Returns string[]

    An array of languages this request accepts.

    import { acceptsLanguages } from "@std/http/negotiation";
    import { assertEquals } from "@std/assert";

    const request = new Request("https://example.com/", {
    headers: {
    "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5",
    },
    });

    assertEquals(acceptsLanguages(request), ["fr-CH", "fr", "en", "de", "*"]);
  • For a given set of languages, return the best match accepted in the request. If no languages match, then the function returns undefined.

    Parameters

    • request: Pick<Request, "headers">

      The request to get the acceptable language for.

    • Rest...langs: string[]

      An array of languages to find the best matching one from.

    Returns string | undefined

    The best matching language, if any match.

    import { acceptsLanguages } from "@std/http/negotiation";
    import { assertEquals } from "@std/assert";

    const request = new Request("https://example.com/", {
    headers: {
    "accept-language": "fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5",
    },
    });

    assertEquals(acceptsLanguages(request, "en-gb", "en-us", "en"), "en");