@twin.org/web 0.0.3-next.2 → 0.0.3-next.21

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.
Files changed (33) hide show
  1. package/dist/es/index.js +1 -0
  2. package/dist/es/index.js.map +1 -1
  3. package/dist/es/models/headerTypes.js +129 -1
  4. package/dist/es/models/headerTypes.js.map +1 -1
  5. package/dist/es/models/httpMethod.js +36 -0
  6. package/dist/es/models/httpMethod.js.map +1 -1
  7. package/dist/es/models/httpStatusCode.js +63 -0
  8. package/dist/es/models/httpStatusCode.js.map +1 -1
  9. package/dist/es/models/mimeTypes.js +170 -1
  10. package/dist/es/models/mimeTypes.js.map +1 -1
  11. package/dist/es/utils/cookieHelper.js +83 -0
  12. package/dist/es/utils/cookieHelper.js.map +1 -0
  13. package/dist/es/utils/headerHelper.js +135 -1
  14. package/dist/es/utils/headerHelper.js.map +1 -1
  15. package/dist/es/utils/mimeTypeHelper.js +42 -1
  16. package/dist/es/utils/mimeTypeHelper.js.map +1 -1
  17. package/dist/types/index.d.ts +1 -0
  18. package/dist/types/models/headerTypes.d.ts +128 -0
  19. package/dist/types/models/httpMethod.d.ts +36 -0
  20. package/dist/types/models/httpStatusCode.d.ts +63 -0
  21. package/dist/types/models/mimeTypes.d.ts +169 -0
  22. package/dist/types/utils/cookieHelper.d.ts +49 -0
  23. package/dist/types/utils/headerHelper.d.ts +67 -0
  24. package/docs/changelog.md +431 -0
  25. package/docs/reference/classes/CookieHelper.md +155 -0
  26. package/docs/reference/classes/HeaderHelper.md +136 -0
  27. package/docs/reference/index.md +1 -0
  28. package/docs/reference/variables/HeaderTypes.md +272 -0
  29. package/docs/reference/variables/HttpMethod.md +54 -0
  30. package/docs/reference/variables/HttpStatusCode.md +252 -0
  31. package/docs/reference/variables/MimeTypes.md +256 -0
  32. package/locales/en.json +4 -0
  33. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"mimeTypeHelper.js","sourceRoot":"","sources":["../../../src/utils/mimeTypeHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { Converter, Is, StringHelper } from \"@twin.org/core\";\nimport { MimeTypes } from \"../models/mimeTypes.js\";\n\n/**\n * Class to help with mime types.\n */\nexport class MimeTypeHelper {\n\t/**\n\t * Detect the mime type from a byte array.\n\t * @param data The data to test.\n\t * @returns The mime type if detected.\n\t */\n\tpublic static async detect(data: Uint8Array): Promise<string | undefined> {\n\t\tif (!Is.uint8Array(data) || data.length === 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Image\n\t\tif (MimeTypeHelper.checkBytes(data, [0x47, 0x49, 0x46])) {\n\t\t\treturn MimeTypes.Gif;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkBytes(data, [0x42, 0x4d])) {\n\t\t\treturn MimeTypes.Bmp;\n\t\t}\n\t\tif (MimeTypeHelper.checkBytes(data, [0xff, 0xd8, 0xff])) {\n\t\t\treturn MimeTypes.Jpeg;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkBytes(data, [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a])) {\n\t\t\treturn MimeTypes.Png;\n\t\t}\n\n\t\tif (\n\t\t\tMimeTypeHelper.checkBytes(data, [0x49, 0x49, 0x2a, 0x00]) ||\n\t\t\tMimeTypeHelper.checkBytes(data, [0x4d, 0x4d, 0x00, 0x2a])\n\t\t) {\n\t\t\treturn MimeTypes.Tiff;\n\t\t}\n\n\t\t// Compression\n\t\tif (MimeTypeHelper.checkBytes(data, [0x1f, 0x8b, 0x8])) {\n\t\t\treturn MimeTypes.Gzip;\n\t\t}\n\n\t\tif (\n\t\t\tMimeTypeHelper.checkBytes(data, [0x78, 0x01]) ||\n\t\t\tMimeTypeHelper.checkBytes(data, [0x78, 0x9c]) ||\n\t\t\tMimeTypeHelper.checkBytes(data, [0x78, 0xda])\n\t\t) {\n\t\t\treturn MimeTypes.Zlib;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkBytes(data, [0x42, 0x5a, 0x68])) {\n\t\t\treturn MimeTypes.Bzip2;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkBytes(data, [0x50, 0x4b, 0x3, 0x4])) {\n\t\t\treturn MimeTypes.Zip;\n\t\t}\n\n\t\t// Documents\n\t\tif (MimeTypeHelper.checkText(data, [\"%PDF\"])) {\n\t\t\treturn MimeTypes.Pdf;\n\t\t}\n\n\t\t// Lookup svg before xml, as svg are xml files as well\n\t\tconst asText = Converter.bytesToUtf8(data);\n\t\tif (asText.includes(\"<svg\")) {\n\t\t\treturn MimeTypes.Svg;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkText(data, [\"<?xml \", \"<message\"])) {\n\t\t\treturn MimeTypes.Xml;\n\t\t}\n\n\t\tif (\n\t\t\tMimeTypeHelper.checkBytes(data, [0xef, 0xbb, 0xbf]) &&\n\t\t\tMimeTypeHelper.checkText(data, [\"<?xml \"], 3)\n\t\t) {\n\t\t\t// UTF-8-BOM\n\t\t\treturn MimeTypes.Xml;\n\t\t}\n\n\t\tif (StringHelper.isUtf8(data)) {\n\t\t\ttry {\n\t\t\t\tJSON.parse(new TextDecoder().decode(data));\n\t\t\t\treturn MimeTypes.Json;\n\t\t\t} catch {\n\t\t\t\treturn MimeTypes.PlainText;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Return the default extension for a mime type.\n\t * @param mimeType The mimetype to get the extension for.\n\t * @returns The extension for the mime type.\n\t */\n\tpublic static defaultExtension(mimeType: string | undefined): string | undefined {\n\t\tif (!Is.stringValue(mimeType)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst lookup: { [mimeType: string]: string } = {\n\t\t\t[MimeTypes.PlainText]: \"txt\",\n\t\t\t[MimeTypes.Html]: \"html\",\n\t\t\t[MimeTypes.Javascript]: \"js\",\n\t\t\t[MimeTypes.Json]: \"json\",\n\t\t\t[MimeTypes.JsonLd]: \"jsonld\",\n\t\t\t[MimeTypes.Jwt]: \"jwt\",\n\t\t\t[MimeTypes.Xml]: \"xml\",\n\t\t\t[MimeTypes.OctetStream]: \"bin\",\n\t\t\t[MimeTypes.Gzip]: \"gzip\",\n\t\t\t[MimeTypes.Zlib]: \"zlib\",\n\t\t\t[MimeTypes.Bzip2]: \"bz2\",\n\t\t\t[MimeTypes.Zip]: \"zip\",\n\t\t\t[MimeTypes.Pdf]: \"pdf\",\n\t\t\t[MimeTypes.Gif]: \"gif\",\n\t\t\t[MimeTypes.Bmp]: \"bmp\",\n\t\t\t[MimeTypes.Jpeg]: \"jpeg\",\n\t\t\t[MimeTypes.Png]: \"png\",\n\t\t\t[MimeTypes.Tiff]: \"tif\",\n\t\t\t[MimeTypes.Svg]: \"svg\",\n\t\t\t[MimeTypes.WebP]: \"webp\",\n\t\t\t[MimeTypes.Mp4]: \"mp4\",\n\t\t\t[MimeTypes.Mpeg]: \"mpg\",\n\t\t\t[MimeTypes.Webm]: \"webm\"\n\t\t};\n\n\t\treturn lookup[mimeType];\n\t}\n\n\t/**\n\t * Check if the bytes match.\n\t * @param data The data to look at.\n\t * @param bytes The bytes to try and match.\n\t * @param startOffset Start offset in the data.\n\t * @returns True if the bytes match.\n\t * @internal\n\t */\n\tprivate static checkBytes(data: Uint8Array, bytes: number[], startOffset = 0): boolean {\n\t\tif (data.length - startOffset < bytes.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let i = 0; i < bytes.length; i++) {\n\t\t\tif (data[i + startOffset] !== bytes[i]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Check if the text matches.\n\t * @param data The data to look at.\n\t * @param texts The text to try and match.\n\t * @param startOffset Start offset in the data.\n\t * @returns True if the bytes match.\n\t * @internal\n\t */\n\tprivate static checkText(data: Uint8Array, texts: string[], startOffset = 0): boolean {\n\t\treturn texts.some(text =>\n\t\t\tMimeTypeHelper.checkBytes(data, Array.from(Converter.utf8ToBytes(text)), startOffset)\n\t\t);\n\t}\n}\n"]}
1
+ {"version":3,"file":"mimeTypeHelper.js","sourceRoot":"","sources":["../../../src/utils/mimeTypeHelper.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { Converter, Is, StringHelper } from \"@twin.org/core\";\nimport { MimeTypes } from \"../models/mimeTypes.js\";\n\n/**\n * Class to help with mime types.\n */\nexport class MimeTypeHelper {\n\t/**\n\t * Detect the mime type from a byte array.\n\t * @param data The data to test.\n\t * @returns The mime type if detected.\n\t */\n\tpublic static async detect(data: Uint8Array): Promise<string | undefined> {\n\t\tif (!Is.uint8Array(data) || data.length === 0) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\t// Image\n\t\tif (MimeTypeHelper.checkBytes(data, [0x47, 0x49, 0x46])) {\n\t\t\treturn MimeTypes.Gif;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkBytes(data, [0x42, 0x4d])) {\n\t\t\treturn MimeTypes.Bmp;\n\t\t}\n\t\tif (MimeTypeHelper.checkBytes(data, [0xff, 0xd8, 0xff])) {\n\t\t\treturn MimeTypes.Jpeg;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkBytes(data, [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a])) {\n\t\t\treturn MimeTypes.Png;\n\t\t}\n\n\t\tif (\n\t\t\tMimeTypeHelper.checkBytes(data, [0x49, 0x49, 0x2a, 0x00]) ||\n\t\t\tMimeTypeHelper.checkBytes(data, [0x4d, 0x4d, 0x00, 0x2a])\n\t\t) {\n\t\t\treturn MimeTypes.Tiff;\n\t\t}\n\n\t\t// Compression\n\t\tif (MimeTypeHelper.checkBytes(data, [0x1f, 0x8b, 0x8])) {\n\t\t\treturn MimeTypes.Gzip;\n\t\t}\n\n\t\tif (\n\t\t\tMimeTypeHelper.checkBytes(data, [0x78, 0x01]) ||\n\t\t\tMimeTypeHelper.checkBytes(data, [0x78, 0x9c]) ||\n\t\t\tMimeTypeHelper.checkBytes(data, [0x78, 0xda])\n\t\t) {\n\t\t\treturn MimeTypes.Zlib;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkBytes(data, [0x42, 0x5a, 0x68])) {\n\t\t\treturn MimeTypes.Bzip2;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkBytes(data, [0x50, 0x4b, 0x3, 0x4])) {\n\t\t\treturn MimeTypes.Zip;\n\t\t}\n\n\t\t// Documents\n\t\tif (MimeTypeHelper.checkText(data, [\"%PDF\"])) {\n\t\t\treturn MimeTypes.Pdf;\n\t\t}\n\n\t\t// Lookup svg before xml, as svg are xml files as well\n\t\tconst asText = Converter.bytesToUtf8(data);\n\t\tif (asText.includes(\"<svg\")) {\n\t\t\treturn MimeTypes.Svg;\n\t\t}\n\n\t\tif (MimeTypeHelper.checkText(data, [\"<?xml \", \"<message\"])) {\n\t\t\treturn MimeTypes.Xml;\n\t\t}\n\n\t\tif (\n\t\t\tMimeTypeHelper.checkBytes(data, [0xef, 0xbb, 0xbf]) &&\n\t\t\tMimeTypeHelper.checkText(data, [\"<?xml \"], 3)\n\t\t) {\n\t\t\t// UTF-8-BOM\n\t\t\treturn MimeTypes.Xml;\n\t\t}\n\n\t\tif (StringHelper.isUtf8(data)) {\n\t\t\ttry {\n\t\t\t\tJSON.parse(new TextDecoder().decode(data));\n\t\t\t\treturn MimeTypes.Json;\n\t\t\t} catch {\n\t\t\t\treturn MimeTypes.PlainText;\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Return the default extension for a mime type.\n\t * @param mimeType The mimetype to get the extension for.\n\t * @returns The extension for the mime type.\n\t */\n\tpublic static defaultExtension(mimeType: string | undefined): string | undefined {\n\t\tif (!Is.stringValue(mimeType)) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst lookup: { [mimeType: string]: string } = {\n\t\t\t[MimeTypes.PlainText]: \"txt\",\n\t\t\t[MimeTypes.EventStream]: \"txt\",\n\t\t\t[MimeTypes.Html]: \"html\",\n\t\t\t[MimeTypes.Css]: \"css\",\n\t\t\t[MimeTypes.Javascript]: \"js\",\n\t\t\t[MimeTypes.Markdown]: \"md\",\n\t\t\t[MimeTypes.Json]: \"json\",\n\t\t\t[MimeTypes.ProblemJson]: \"json\",\n\t\t\t[MimeTypes.WebManifest]: \"webmanifest\",\n\t\t\t[MimeTypes.JsonLd]: \"jsonld\",\n\t\t\t[MimeTypes.Jwt]: \"jwt\",\n\t\t\t[MimeTypes.AccessTokenJwt]: \"jwt\",\n\t\t\t[MimeTypes.Jose]: \"jose\",\n\t\t\t[MimeTypes.JoseJson]: \"json\",\n\t\t\t[MimeTypes.JwkJson]: \"json\",\n\t\t\t[MimeTypes.JwkSetJson]: \"json\",\n\t\t\t[MimeTypes.JrdJson]: \"json\",\n\t\t\t[MimeTypes.DidJson]: \"json\",\n\t\t\t[MimeTypes.DidLdJson]: \"jsonld\",\n\t\t\t[MimeTypes.VerifiableCredentialLdJson]: \"jsonld\",\n\t\t\t[MimeTypes.VerifiablePresentationLdJson]: \"jsonld\",\n\t\t\t[MimeTypes.VerifiableCredentialJwt]: \"jwt\",\n\t\t\t[MimeTypes.VerifiablePresentationJwt]: \"jwt\",\n\t\t\t[MimeTypes.JsonPatch]: \"json\",\n\t\t\t[MimeTypes.MergePatch]: \"json\",\n\t\t\t[MimeTypes.Cwt]: \"cwt\",\n\t\t\t[MimeTypes.Cose]: \"cose\",\n\t\t\t[MimeTypes.CoseKey]: \"cose\",\n\t\t\t[MimeTypes.CoseKeySet]: \"cose\",\n\t\t\t[MimeTypes.FormUrlEncoded]: \"txt\",\n\t\t\t[MimeTypes.MultipartFormData]: \"txt\",\n\t\t\t[MimeTypes.Xml]: \"xml\",\n\t\t\t[MimeTypes.Wasm]: \"wasm\",\n\t\t\t[MimeTypes.OctetStream]: \"bin\",\n\t\t\t[MimeTypes.Gzip]: \"gzip\",\n\t\t\t[MimeTypes.Zlib]: \"zlib\",\n\t\t\t[MimeTypes.Bzip2]: \"bz2\",\n\t\t\t[MimeTypes.Zip]: \"zip\",\n\t\t\t[MimeTypes.Pdf]: \"pdf\",\n\t\t\t[MimeTypes.Gif]: \"gif\",\n\t\t\t[MimeTypes.Bmp]: \"bmp\",\n\t\t\t[MimeTypes.Jpeg]: \"jpeg\",\n\t\t\t[MimeTypes.Png]: \"png\",\n\t\t\t[MimeTypes.Tiff]: \"tif\",\n\t\t\t[MimeTypes.Svg]: \"svg\",\n\t\t\t[MimeTypes.Ico]: \"ico\",\n\t\t\t[MimeTypes.WebP]: \"webp\",\n\t\t\t[MimeTypes.Avif]: \"avif\",\n\t\t\t[MimeTypes.Apng]: \"apng\",\n\t\t\t[MimeTypes.Woff]: \"woff\",\n\t\t\t[MimeTypes.Woff2]: \"woff2\",\n\t\t\t[MimeTypes.Ttf]: \"ttf\",\n\t\t\t[MimeTypes.Otf]: \"otf\",\n\t\t\t[MimeTypes.Mp3]: \"mp3\",\n\t\t\t[MimeTypes.OggAudio]: \"ogg\",\n\t\t\t[MimeTypes.Wav]: \"wav\",\n\t\t\t[MimeTypes.WebmAudio]: \"webm\",\n\t\t\t[MimeTypes.Aac]: \"aac\",\n\t\t\t[MimeTypes.Mp4Audio]: \"m4a\",\n\t\t\t[MimeTypes.Mp4]: \"mp4\",\n\t\t\t[MimeTypes.Mpeg]: \"mpg\",\n\t\t\t[MimeTypes.Webm]: \"webm\",\n\t\t\t[MimeTypes.OggVideo]: \"ogv\",\n\t\t\t[MimeTypes.Quicktime]: \"mov\"\n\t\t};\n\n\t\treturn lookup[mimeType];\n\t}\n\n\t/**\n\t * Check if the bytes match.\n\t * @param data The data to look at.\n\t * @param bytes The bytes to try and match.\n\t * @param startOffset Start offset in the data.\n\t * @returns True if the bytes match.\n\t * @internal\n\t */\n\tprivate static checkBytes(data: Uint8Array, bytes: number[], startOffset = 0): boolean {\n\t\tif (data.length - startOffset < bytes.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tfor (let i = 0; i < bytes.length; i++) {\n\t\t\tif (data[i + startOffset] !== bytes[i]) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * Check if the text matches.\n\t * @param data The data to look at.\n\t * @param texts The text to try and match.\n\t * @param startOffset Start offset in the data.\n\t * @returns True if the bytes match.\n\t * @internal\n\t */\n\tprivate static checkText(data: Uint8Array, texts: string[], startOffset = 0): boolean {\n\t\treturn texts.some(text =>\n\t\t\tMimeTypeHelper.checkBytes(data, Array.from(Converter.utf8ToBytes(text)), startOffset)\n\t\t);\n\t}\n}\n"]}
@@ -9,6 +9,7 @@ export * from "./models/IJwtHeader.js";
9
9
  export * from "./models/IJwtPayload.js";
10
10
  export * from "./models/jwkCryptoKey.js";
11
11
  export * from "./models/mimeTypes.js";
12
+ export * from "./utils/cookieHelper.js";
12
13
  export * from "./utils/fetchHelper.js";
13
14
  export * from "./utils/headerHelper.js";
14
15
  export * from "./utils/jwk.js";
@@ -4,36 +4,164 @@
4
4
  export declare const HeaderTypes: {
5
5
  /**
6
6
  * Content Type.
7
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type
7
8
  */
8
9
  readonly ContentType: "content-type";
10
+ /**
11
+ * Content Language.
12
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language
13
+ */
14
+ readonly ContentLanguage: "content-language";
9
15
  /**
10
16
  * Content Length.
17
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Length
11
18
  */
12
19
  readonly ContentLength: "content-length";
13
20
  /**
14
21
  * Content Disposition.
22
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition
15
23
  */
16
24
  readonly ContentDisposition: "content-disposition";
25
+ /**
26
+ * Content Encoding.
27
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding
28
+ */
29
+ readonly ContentEncoding: "content-encoding";
30
+ /**
31
+ * Cache Control.
32
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
33
+ */
34
+ readonly CacheControl: "cache-control";
35
+ /**
36
+ * ETag.
37
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag
38
+ */
39
+ readonly ETag: "etag";
40
+ /**
41
+ * If-None-Match.
42
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-None-Match
43
+ */
44
+ readonly IfNoneMatch: "if-none-match";
45
+ /**
46
+ * Last-Modified.
47
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified
48
+ */
49
+ readonly LastModified: "last-modified";
50
+ /**
51
+ * If-Modified-Since.
52
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/If-Modified-Since
53
+ */
54
+ readonly IfModifiedSince: "if-modified-since";
17
55
  /**
18
56
  * Accept.
57
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept
19
58
  */
20
59
  readonly Accept: "accept";
60
+ /**
61
+ * Accept-Language.
62
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Language
63
+ */
64
+ readonly AcceptLanguage: "accept-language";
65
+ /**
66
+ * Accept-Encoding.
67
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Accept-Encoding
68
+ */
69
+ readonly AcceptEncoding: "accept-encoding";
21
70
  /**
22
71
  * Authorization.
72
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Authorization
23
73
  */
24
74
  readonly Authorization: "authorization";
75
+ /**
76
+ * WWW-Authenticate.
77
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/WWW-Authenticate
78
+ */
79
+ readonly WwwAuthenticate: "www-authenticate";
25
80
  /**
26
81
  * Cookie.
82
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cookie
27
83
  */
28
84
  readonly Cookie: "cookie";
29
85
  /**
30
86
  * Set Cookie.
87
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie
31
88
  */
32
89
  readonly SetCookie: "set-cookie";
33
90
  /**
34
91
  * Location
92
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Location
35
93
  */
36
94
  readonly Location: "location";
95
+ /**
96
+ * Origin.
97
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin
98
+ */
99
+ readonly Origin: "origin";
100
+ /**
101
+ * Referer.
102
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Referer
103
+ */
104
+ readonly Referer: "referer";
105
+ /**
106
+ * Link
107
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Link
108
+ */
109
+ readonly Link: "link";
110
+ /**
111
+ * Vary.
112
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Vary
113
+ */
114
+ readonly Vary: "vary";
115
+ /**
116
+ * Access-Control-Allow-Origin.
117
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
118
+ */
119
+ readonly AccessControlAllowOrigin: "access-control-allow-origin";
120
+ /**
121
+ * Access-Control-Allow-Methods.
122
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Methods
123
+ */
124
+ readonly AccessControlAllowMethods: "access-control-allow-methods";
125
+ /**
126
+ * Access-Control-Allow-Headers.
127
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Headers
128
+ */
129
+ readonly AccessControlAllowHeaders: "access-control-allow-headers";
130
+ /**
131
+ * Access-Control-Expose-Headers.
132
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Expose-Headers
133
+ */
134
+ readonly AccessControlExposeHeaders: "access-control-expose-headers";
135
+ /**
136
+ * Access-Control-Max-Age.
137
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Max-Age
138
+ */
139
+ readonly AccessControlMaxAge: "access-control-max-age";
140
+ /**
141
+ * Access-Control-Allow-Credentials.
142
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials
143
+ */
144
+ readonly AccessControlAllowCredentials: "access-control-allow-credentials";
145
+ /**
146
+ * Range.
147
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range
148
+ */
149
+ readonly Range: "range";
150
+ /**
151
+ * Accept-Ranges.
152
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Ranges
153
+ */
154
+ readonly AcceptRanges: "accept-ranges";
155
+ /**
156
+ * Content-Range.
157
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Range
158
+ */
159
+ readonly ContentRange: "content-range";
160
+ /**
161
+ * User-Agent
162
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
163
+ */
164
+ readonly UserAgent: "user-agent";
37
165
  };
38
166
  /**
39
167
  * Common http header types.
@@ -2,14 +2,50 @@
2
2
  * The names of the HTTP Methods.
3
3
  */
4
4
  export declare const HttpMethod: {
5
+ /**
6
+ * Retrieve a representation of the resource.
7
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET
8
+ */
5
9
  readonly GET: "GET";
10
+ /**
11
+ * Submit an entity to the specified resource.
12
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST
13
+ */
6
14
  readonly POST: "POST";
15
+ /**
16
+ * Replace all current representations of the target resource.
17
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT
18
+ */
7
19
  readonly PUT: "PUT";
20
+ /**
21
+ * Apply partial modifications to a resource.
22
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH
23
+ */
8
24
  readonly PATCH: "PATCH";
25
+ /**
26
+ * Delete the specified resource.
27
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/DELETE
28
+ */
9
29
  readonly DELETE: "DELETE";
30
+ /**
31
+ * Describe the communication options for the target resource.
32
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/OPTIONS
33
+ */
10
34
  readonly OPTIONS: "OPTIONS";
35
+ /**
36
+ * Ask for a response identical to GET, but without the response body.
37
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/HEAD
38
+ */
11
39
  readonly HEAD: "HEAD";
40
+ /**
41
+ * Establish a tunnel to the server identified by the target resource.
42
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/CONNECT
43
+ */
12
44
  readonly CONNECT: "CONNECT";
45
+ /**
46
+ * Perform a message loop-back test along the path to the target resource.
47
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/TRACE
48
+ */
13
49
  readonly TRACE: "TRACE";
14
50
  };
15
51
  /**
@@ -1,253 +1,316 @@
1
1
  /**
2
2
  * Standard HTTP status codes.
3
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status
3
4
  */
4
5
  export declare const HttpStatusCode: {
5
6
  /**
6
7
  * Continue status code.
8
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100
7
9
  */
8
10
  readonly continue: 100;
9
11
  /**
10
12
  * Switching Protocols status code.
13
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/101
11
14
  */
12
15
  readonly switchingProtocols: 101;
13
16
  /**
14
17
  * Processing status code.
18
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/102
15
19
  */
16
20
  readonly processing: 102;
17
21
  /**
18
22
  * Early Hints status code.
23
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103
19
24
  */
20
25
  readonly earlyHints: 103;
21
26
  /**
22
27
  * OK status code.
28
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/200
23
29
  */
24
30
  readonly ok: 200;
25
31
  /**
26
32
  * Created status code.
33
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/201
27
34
  */
28
35
  readonly created: 201;
29
36
  /**
30
37
  * Accepted status code.
38
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/202
31
39
  */
32
40
  readonly accepted: 202;
33
41
  /**
34
42
  * Non-Authoritative Information status code.
43
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/203
35
44
  */
36
45
  readonly nonAuthoritativeInformation: 203;
37
46
  /**
38
47
  * No Content status code.
48
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/204
39
49
  */
40
50
  readonly noContent: 204;
41
51
  /**
42
52
  * Reset Content status code.
53
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/205
43
54
  */
44
55
  readonly resetContent: 205;
45
56
  /**
46
57
  * Partial Content status code.
58
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206
47
59
  */
48
60
  readonly partialContent: 206;
49
61
  /**
50
62
  * Multi-Status status code.
63
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/207
51
64
  */
52
65
  readonly multiStatus: 207;
53
66
  /**
54
67
  * Already Reported status code.
68
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/208
55
69
  */
56
70
  readonly alreadyReported: 208;
57
71
  /**
58
72
  * IM Used status code.
73
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/226
59
74
  */
60
75
  readonly imUsed: 226;
61
76
  /**
62
77
  * Multiple Choices status code.
78
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/300
63
79
  */
64
80
  readonly multipleChoices: 300;
65
81
  /**
66
82
  * Moved Permanently status code.
83
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301
67
84
  */
68
85
  readonly movedPermanently: 301;
69
86
  /**
70
87
  * Found status code.
88
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/302
71
89
  */
72
90
  readonly found: 302;
73
91
  /**
74
92
  * See Other status code.
93
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/303
75
94
  */
76
95
  readonly seeOther: 303;
77
96
  /**
78
97
  * Not Modified status code.
98
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/304
79
99
  */
80
100
  readonly notModified: 304;
81
101
  /**
82
102
  * Use Proxy status code.
103
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/305
83
104
  */
84
105
  readonly useProxy: 305;
85
106
  /**
86
107
  * Temporary Redirect status code.
108
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/307
87
109
  */
88
110
  readonly temporaryRedirect: 307;
89
111
  /**
90
112
  * Permanent Redirect status code.
113
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/308
91
114
  */
92
115
  readonly permanentRedirect: 308;
93
116
  /**
94
117
  * Bad Request status code.
118
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400
95
119
  */
96
120
  readonly badRequest: 400;
97
121
  /**
98
122
  * Unauthorized status code.
123
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401
99
124
  */
100
125
  readonly unauthorized: 401;
101
126
  /**
102
127
  * Payment Required status code.
128
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/402
103
129
  */
104
130
  readonly paymentRequired: 402;
105
131
  /**
106
132
  * Forbidden status code.
133
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/403
107
134
  */
108
135
  readonly forbidden: 403;
109
136
  /**
110
137
  * Not Found status code.
138
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
111
139
  */
112
140
  readonly notFound: 404;
113
141
  /**
114
142
  * Method Not Allowed status code.
143
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405
115
144
  */
116
145
  readonly methodNotAllowed: 405;
117
146
  /**
118
147
  * Not Acceptable status code.
148
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/406
119
149
  */
120
150
  readonly notAcceptable: 406;
121
151
  /**
122
152
  * Proxy Authentication Required status code.
153
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/407
123
154
  */
124
155
  readonly proxyAuthenticationRequired: 407;
125
156
  /**
126
157
  * Request Timeout status code.
158
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/408
127
159
  */
128
160
  readonly requestTimeout: 408;
129
161
  /**
130
162
  * Conflict status code.
163
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/409
131
164
  */
132
165
  readonly conflict: 409;
133
166
  /**
134
167
  * Gone status code.
168
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410
135
169
  */
136
170
  readonly gone: 410;
137
171
  /**
138
172
  * Length Required status code.
173
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/411
139
174
  */
140
175
  readonly lengthRequired: 411;
141
176
  /**
142
177
  * Precondition Failed status code.
178
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/412
143
179
  */
144
180
  readonly preconditionFailed: 412;
145
181
  /**
146
182
  * Payload Too Large status code.
183
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/413
147
184
  */
148
185
  readonly payloadTooLarge: 413;
149
186
  /**
150
187
  * URI Too Long status code.
188
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/414
151
189
  */
152
190
  readonly uriTooLong: 414;
153
191
  /**
154
192
  * Unsupported Media Type status code.
193
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/415
155
194
  */
156
195
  readonly unsupportedMediaType: 415;
157
196
  /**
158
197
  * Range Not Satisfiable status code.
198
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/416
159
199
  */
160
200
  readonly rangeNotSatisfiable: 416;
161
201
  /**
162
202
  * Expectation Failed status code.
203
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/417
163
204
  */
164
205
  readonly expectationFailed: 417;
165
206
  /**
166
207
  * I'm a Teapot status code.
208
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/418
167
209
  */
168
210
  readonly imATeapot: 418;
169
211
  /**
170
212
  * Misdirected Request status code.
213
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/421
171
214
  */
172
215
  readonly misdirectedRequest: 421;
173
216
  /**
174
217
  * Unprocessable Entity status code.
218
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/422
175
219
  */
176
220
  readonly unprocessableEntity: 422;
177
221
  /**
178
222
  * Locked status code.
223
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/423
179
224
  */
180
225
  readonly locked: 423;
181
226
  /**
182
227
  * Failed Dependency status code.
228
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/424
183
229
  */
184
230
  readonly failedDependency: 424;
185
231
  /**
186
232
  * Too Early status code.
233
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/425
187
234
  */
188
235
  readonly tooEarly: 425;
189
236
  /**
190
237
  * Upgrade Required status code.
238
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/426
191
239
  */
192
240
  readonly upgradeRequired: 426;
193
241
  /**
194
242
  * Precondition Required status code.
243
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/428
195
244
  */
196
245
  readonly preconditionRequired: 428;
197
246
  /**
198
247
  * Too Many Requests status code.
248
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429
199
249
  */
200
250
  readonly tooManyRequests: 429;
201
251
  /**
202
252
  * Request Header Fields Too Large status code.
253
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/431
203
254
  */
204
255
  readonly requestHeaderFieldsTooLarge: 431;
205
256
  /**
206
257
  * Unavailable For Legal Reasons status code.
258
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/451
207
259
  */
208
260
  readonly unavailableForLegalReasons: 451;
209
261
  /**
210
262
  * Internal Server Error status code.
263
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/500
211
264
  */
212
265
  readonly internalServerError: 500;
213
266
  /**
214
267
  * Not Implemented status code.
268
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/501
215
269
  */
216
270
  readonly notImplemented: 501;
217
271
  /**
218
272
  * Bad Gateway status code.
273
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/502
219
274
  */
220
275
  readonly badGateway: 502;
221
276
  /**
222
277
  * Service Unavailable status code.
278
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/503
223
279
  */
224
280
  readonly serviceUnavailable: 503;
225
281
  /**
226
282
  * Gateway Timeout status code.
283
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/504
227
284
  */
228
285
  readonly gatewayTimeout: 504;
229
286
  /**
230
287
  * HTTP Version Not Supported status code.
288
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/505
231
289
  */
232
290
  readonly httpVersionNotSupported: 505;
233
291
  /**
234
292
  * Variant Also Negotiates status code.
293
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/506
235
294
  */
236
295
  readonly variantAlsoNegotiates: 506;
237
296
  /**
238
297
  * Insufficient Storage status code.
298
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/507
239
299
  */
240
300
  readonly insufficientStorage: 507;
241
301
  /**
242
302
  * Loop Detected status code.
303
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/508
243
304
  */
244
305
  readonly loopDetected: 508;
245
306
  /**
246
307
  * Not Extended status code.
308
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/510
247
309
  */
248
310
  readonly notExtended: 510;
249
311
  /**
250
312
  * Network Authentication Required status code.
313
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/511
251
314
  */
252
315
  readonly networkAuthenticationRequired: 511;
253
316
  };