@twin.org/web 0.0.3-next.3 → 0.0.3-next.30
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/README.md +1 -1
- package/dist/es/index.js +3 -0
- package/dist/es/index.js.map +1 -1
- package/dist/es/models/IHttpLinkHeader.js +2 -0
- package/dist/es/models/IHttpLinkHeader.js.map +1 -0
- package/dist/es/models/headerTypes.js +129 -1
- package/dist/es/models/headerTypes.js.map +1 -1
- package/dist/es/models/httpLinkRelType.js +130 -0
- package/dist/es/models/httpLinkRelType.js.map +1 -0
- package/dist/es/models/httpMethod.js +36 -0
- package/dist/es/models/httpMethod.js.map +1 -1
- package/dist/es/models/httpStatusCode.js +63 -0
- package/dist/es/models/httpStatusCode.js.map +1 -1
- package/dist/es/models/mimeTypes.js +170 -1
- package/dist/es/models/mimeTypes.js.map +1 -1
- package/dist/es/utils/cookieHelper.js +83 -0
- package/dist/es/utils/cookieHelper.js.map +1 -0
- package/dist/es/utils/headerHelper.js +383 -1
- package/dist/es/utils/headerHelper.js.map +1 -1
- package/dist/es/utils/mimeTypeHelper.js +42 -1
- package/dist/es/utils/mimeTypeHelper.js.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/models/IHttpLinkHeader.d.ts +26 -0
- package/dist/types/models/headerTypes.d.ts +128 -0
- package/dist/types/models/httpLinkRelType.d.ts +130 -0
- package/dist/types/models/httpMethod.d.ts +36 -0
- package/dist/types/models/httpStatusCode.d.ts +63 -0
- package/dist/types/models/mimeTypes.d.ts +169 -0
- package/dist/types/utils/cookieHelper.d.ts +49 -0
- package/dist/types/utils/headerHelper.d.ts +115 -0
- package/docs/changelog.md +592 -1
- package/docs/examples.md +108 -1
- package/docs/reference/classes/CookieHelper.md +155 -0
- package/docs/reference/classes/FetchError.md +453 -1
- package/docs/reference/classes/FetchHelper.md +12 -12
- package/docs/reference/classes/HeaderHelper.md +385 -2
- package/docs/reference/classes/Jwk.md +6 -6
- package/docs/reference/classes/Jws.md +3 -3
- package/docs/reference/classes/Jwt.md +17 -17
- package/docs/reference/classes/MimeTypeHelper.md +4 -4
- package/docs/reference/index.md +4 -0
- package/docs/reference/interfaces/IFetchOptions.md +12 -12
- package/docs/reference/interfaces/IHttpHeaders.md +1 -1
- package/docs/reference/interfaces/IHttpLinkHeader.md +43 -0
- package/docs/reference/type-aliases/HttpLinkRelType.md +5 -0
- package/docs/reference/variables/HeaderTypes.md +280 -8
- package/docs/reference/variables/HttpLinkRelType.md +191 -0
- package/docs/reference/variables/HttpMethod.md +63 -9
- package/docs/reference/variables/HttpStatusCode.md +314 -62
- package/docs/reference/variables/MimeTypes.md +279 -23
- package/locales/en.json +4 -0
- package/package.json +6 -6
|
@@ -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"]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
export * from "./errors/fetchError.js";
|
|
2
2
|
export * from "./models/headerTypes.js";
|
|
3
|
+
export * from "./models/httpLinkRelType.js";
|
|
3
4
|
export * from "./models/httpMethod.js";
|
|
4
5
|
export * from "./models/httpStatusCode.js";
|
|
5
6
|
export * from "./models/IFetchOptions.js";
|
|
6
7
|
export * from "./models/IHttpHeaders.js";
|
|
8
|
+
export * from "./models/IHttpLinkHeader.js";
|
|
7
9
|
export * from "./models/IJwk.js";
|
|
8
10
|
export * from "./models/IJwtHeader.js";
|
|
9
11
|
export * from "./models/IJwtPayload.js";
|
|
10
12
|
export * from "./models/jwkCryptoKey.js";
|
|
11
13
|
export * from "./models/mimeTypes.js";
|
|
14
|
+
export * from "./utils/cookieHelper.js";
|
|
12
15
|
export * from "./utils/fetchHelper.js";
|
|
13
16
|
export * from "./utils/headerHelper.js";
|
|
14
17
|
export * from "./utils/jwk.js";
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { HttpLinkRelType } from "./httpLinkRelType.js";
|
|
2
|
+
/**
|
|
3
|
+
* Model used for Http link headers parameter.
|
|
4
|
+
*/
|
|
5
|
+
export interface IHttpLinkHeader {
|
|
6
|
+
/**
|
|
7
|
+
* The URL of the link.
|
|
8
|
+
*/
|
|
9
|
+
url: string;
|
|
10
|
+
/**
|
|
11
|
+
* Optional query parameters for the URL.
|
|
12
|
+
*/
|
|
13
|
+
urlQueryParams?: {
|
|
14
|
+
[id: string]: string;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* The relation types of the link.
|
|
18
|
+
*/
|
|
19
|
+
rel: (string | HttpLinkRelType)[];
|
|
20
|
+
/**
|
|
21
|
+
* Optional additional parameters for the link.
|
|
22
|
+
*/
|
|
23
|
+
params?: {
|
|
24
|
+
[id: string]: string;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
@@ -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.
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Common HTML rel attribute values.
|
|
3
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Attributes/rel
|
|
4
|
+
*/
|
|
5
|
+
export declare const HttpLinkRelType: {
|
|
6
|
+
/**
|
|
7
|
+
* Alternate representation of the current document.
|
|
8
|
+
*/
|
|
9
|
+
readonly alternate: "alternate";
|
|
10
|
+
/**
|
|
11
|
+
* Author of the current document or article.
|
|
12
|
+
*/
|
|
13
|
+
readonly author: "author";
|
|
14
|
+
/**
|
|
15
|
+
* Permalink for the nearest ancestor section.
|
|
16
|
+
*/
|
|
17
|
+
readonly bookmark: "bookmark";
|
|
18
|
+
/**
|
|
19
|
+
* Preferred URL for the current document.
|
|
20
|
+
*/
|
|
21
|
+
readonly canonical: "canonical";
|
|
22
|
+
/**
|
|
23
|
+
* Compression dictionary for future downloads.
|
|
24
|
+
*/
|
|
25
|
+
readonly compressionDictionary: "compression-dictionary";
|
|
26
|
+
/**
|
|
27
|
+
* Hint to perform DNS resolution in advance.
|
|
28
|
+
*/
|
|
29
|
+
readonly dnsPrefetch: "dns-prefetch";
|
|
30
|
+
/**
|
|
31
|
+
* The referenced document is external to the current site.
|
|
32
|
+
*/
|
|
33
|
+
readonly external: "external";
|
|
34
|
+
/**
|
|
35
|
+
* Allows render-blocking until essential parts are parsed.
|
|
36
|
+
*/
|
|
37
|
+
readonly expect: "expect";
|
|
38
|
+
/**
|
|
39
|
+
* Link to context-sensitive help.
|
|
40
|
+
*/
|
|
41
|
+
readonly help: "help";
|
|
42
|
+
/**
|
|
43
|
+
* Icon representing the current document.
|
|
44
|
+
*/
|
|
45
|
+
readonly icon: "icon";
|
|
46
|
+
/**
|
|
47
|
+
* Licensing information for the current document.
|
|
48
|
+
*/
|
|
49
|
+
readonly license: "license";
|
|
50
|
+
/**
|
|
51
|
+
* Web application manifest.
|
|
52
|
+
*/
|
|
53
|
+
readonly manifest: "manifest";
|
|
54
|
+
/**
|
|
55
|
+
* Indicates the current document represents the linked identity.
|
|
56
|
+
*/
|
|
57
|
+
readonly me: "me";
|
|
58
|
+
/**
|
|
59
|
+
* Pre-emptively fetch a module and optionally its dependencies.
|
|
60
|
+
*/
|
|
61
|
+
readonly modulePreload: "modulepreload";
|
|
62
|
+
/**
|
|
63
|
+
* The next document in a series.
|
|
64
|
+
*/
|
|
65
|
+
readonly next: "next";
|
|
66
|
+
/**
|
|
67
|
+
* The current document does not endorse the referenced document.
|
|
68
|
+
*/
|
|
69
|
+
readonly nofollow: "nofollow";
|
|
70
|
+
/**
|
|
71
|
+
* Prevent access to the originating browsing context.
|
|
72
|
+
*/
|
|
73
|
+
readonly noopener: "noopener";
|
|
74
|
+
/**
|
|
75
|
+
* Suppress the Referer header and implies noopener.
|
|
76
|
+
*/
|
|
77
|
+
readonly noreferrer: "noreferrer";
|
|
78
|
+
/**
|
|
79
|
+
* Allow access to the originating browsing context.
|
|
80
|
+
*/
|
|
81
|
+
readonly opener: "opener";
|
|
82
|
+
/**
|
|
83
|
+
* Address of the pingback server for the current document.
|
|
84
|
+
*/
|
|
85
|
+
readonly pingback: "pingback";
|
|
86
|
+
/**
|
|
87
|
+
* Hint to connect to the target origin in advance.
|
|
88
|
+
*/
|
|
89
|
+
readonly preconnect: "preconnect";
|
|
90
|
+
/**
|
|
91
|
+
* Hint to fetch and cache a likely next resource.
|
|
92
|
+
*/
|
|
93
|
+
readonly prefetch: "prefetch";
|
|
94
|
+
/**
|
|
95
|
+
* Hint to fetch and cache a resource for the current navigation.
|
|
96
|
+
*/
|
|
97
|
+
readonly preload: "preload";
|
|
98
|
+
/**
|
|
99
|
+
* Deprecated hint to fetch and process a target in advance.
|
|
100
|
+
*/
|
|
101
|
+
readonly prerender: "prerender";
|
|
102
|
+
/**
|
|
103
|
+
* The previous document in a series.
|
|
104
|
+
*/
|
|
105
|
+
readonly prev: "prev";
|
|
106
|
+
/**
|
|
107
|
+
* Privacy policy for the current document.
|
|
108
|
+
*/
|
|
109
|
+
readonly privacyPolicy: "privacy-policy";
|
|
110
|
+
/**
|
|
111
|
+
* Search resource for the current document or related resources.
|
|
112
|
+
*/
|
|
113
|
+
readonly search: "search";
|
|
114
|
+
/**
|
|
115
|
+
* External stylesheet for the current document.
|
|
116
|
+
*/
|
|
117
|
+
readonly stylesheet: "stylesheet";
|
|
118
|
+
/**
|
|
119
|
+
* Tag applying to the current document.
|
|
120
|
+
*/
|
|
121
|
+
readonly tag: "tag";
|
|
122
|
+
/**
|
|
123
|
+
* Terms of service for the current document.
|
|
124
|
+
*/
|
|
125
|
+
readonly termsOfService: "terms-of-service";
|
|
126
|
+
};
|
|
127
|
+
/**
|
|
128
|
+
* Common HTML rel attribute values.
|
|
129
|
+
*/
|
|
130
|
+
export type HttpLinkRelType = (typeof HttpLinkRelType)[keyof typeof HttpLinkRelType];
|
|
@@ -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
|
/**
|