@twin.org/web 0.0.3-next.4 → 0.0.3-next.40
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/IFetchOptions.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/fetchHelper.js +1 -1
- package/dist/es/utils/fetchHelper.js.map +1 -1
- 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/IFetchOptions.d.ts +1 -1
- 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 +914 -143
- 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 -14
- 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 -3
- package/package.json +8 -8
|
@@ -1,7 +1,14 @@
|
|
|
1
|
+
import type { HttpLinkRelType } from "../models/httpLinkRelType.js";
|
|
2
|
+
import type { IHttpHeaders } from "../models/IHttpHeaders.js";
|
|
3
|
+
import type { IHttpLinkHeader } from "../models/IHttpLinkHeader.js";
|
|
1
4
|
/**
|
|
2
5
|
* Class to helper with header operations.
|
|
3
6
|
*/
|
|
4
7
|
export declare class HeaderHelper {
|
|
8
|
+
/**
|
|
9
|
+
* Runtime name for the class.
|
|
10
|
+
*/
|
|
11
|
+
static readonly CLASS_NAME: string;
|
|
5
12
|
/**
|
|
6
13
|
* Create a bearer token header.
|
|
7
14
|
* @param token The token to create the header for.
|
|
@@ -14,4 +21,112 @@ export declare class HeaderHelper {
|
|
|
14
21
|
* @returns The extracted token if it exists.
|
|
15
22
|
*/
|
|
16
23
|
static extractBearer(header: unknown): string;
|
|
24
|
+
/**
|
|
25
|
+
* Extract parsed language preferences from the Accept-Language header.
|
|
26
|
+
* @param headers The HTTP request headers.
|
|
27
|
+
* @returns The parsed language preferences ordered by highest quality first, or undefined if missing or invalid.
|
|
28
|
+
*/
|
|
29
|
+
static extractAcceptLanguage(headers?: IHttpHeaders): {
|
|
30
|
+
language: string;
|
|
31
|
+
quality: number;
|
|
32
|
+
}[] | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Parse one or more Accept-Language header values into language preferences.
|
|
35
|
+
* @param acceptLanguage The Accept-Language header value or values.
|
|
36
|
+
* @returns The parsed language preferences ordered by highest quality first, or undefined if missing or if any entry is invalid.
|
|
37
|
+
*/
|
|
38
|
+
static parseAcceptLanguage(acceptLanguage: string | string[] | undefined): {
|
|
39
|
+
language: string;
|
|
40
|
+
quality: number;
|
|
41
|
+
}[] | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Extract client IP addresses from HTTP request headers.
|
|
44
|
+
* Checks all `X-Forwarded-For` and `X-Real-IP` header values for proxied requests.
|
|
45
|
+
* @param headers The HTTP request headers.
|
|
46
|
+
* @returns The extracted client IP addresses in header order.
|
|
47
|
+
*/
|
|
48
|
+
static extractClientIps(headers?: IHttpHeaders): string[];
|
|
49
|
+
/**
|
|
50
|
+
* Extract the User-Agent header from the HTTP request context.
|
|
51
|
+
* @param headers The HTTP request headers.
|
|
52
|
+
* @param maxLength Optional maximum length for the User-Agent string to prevent excessively long values.
|
|
53
|
+
* @returns The user agent string or undefined if not available.
|
|
54
|
+
*/
|
|
55
|
+
static extractUserAgent(headers?: IHttpHeaders, maxLength?: number): string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Extract a correlation ID for request tracing from the X-Correlation-ID header.
|
|
58
|
+
* @param headers The HTTP request headers.
|
|
59
|
+
* @param maxLength Optional maximum length for the extracted correlation ID.
|
|
60
|
+
* @returns The correlation ID, or undefined if the header is missing or invalid.
|
|
61
|
+
*/
|
|
62
|
+
static extractCorrelationId(headers?: IHttpHeaders, maxLength?: number): string | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Validate if a string is a valid IP address (IPv4 or IPv6).
|
|
65
|
+
* @param ip The IP address to validate.
|
|
66
|
+
* @returns True if valid, false otherwise.
|
|
67
|
+
*/
|
|
68
|
+
static isIpAddress(ip: string): boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Validate if a string is a valid IP address IPv4.
|
|
71
|
+
* @param ip The IP address to validate.
|
|
72
|
+
* @returns True if valid, false otherwise.
|
|
73
|
+
*/
|
|
74
|
+
static isIpAddressV4(ip: string): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Validate if a string is a valid IP address IPv6.
|
|
77
|
+
* @param ip The IP address to validate.
|
|
78
|
+
* @returns True if valid, false otherwise.
|
|
79
|
+
*/
|
|
80
|
+
static isIpAddressV6(ip: string): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Extract the first occurrence of properties from a Link header for a specific relation type.
|
|
83
|
+
* @param linkHeader The Link header value in format `<url>; rel="..."; param1=""; param2=""`.
|
|
84
|
+
* @param relation The relation type to extract.
|
|
85
|
+
* @returns The extracted URL, rel and optional params or undefined if invalid/missing.
|
|
86
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Link
|
|
87
|
+
*/
|
|
88
|
+
static extractLinkHeaderRelation(linkHeader: string | string[] | undefined, relation: HttpLinkRelType | string | RegExp): IHttpLinkHeader | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Extract multiple properties from a Link header for a specific relation type.
|
|
91
|
+
* @param linkHeader The Link header value in format `<url>; rel="..."; param1=""; param2=""`.
|
|
92
|
+
* @param relation The relation type to extract.
|
|
93
|
+
* @returns The extracted URL, rel and optional params or undefined if invalid/missing.
|
|
94
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Link
|
|
95
|
+
*/
|
|
96
|
+
static extractLinkHeaderRelations(linkHeader: string | string[] | undefined, relation: HttpLinkRelType | string | RegExp): IHttpLinkHeader[] | undefined;
|
|
97
|
+
/**
|
|
98
|
+
* Extract the link headers.
|
|
99
|
+
* @param linkHeader The Link header value in format `<url>; rel="..."; param1=""; param2=""`.
|
|
100
|
+
* @returns The extracted possible array of URL, rel and optional params or undefined if invalid/missing.
|
|
101
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Link
|
|
102
|
+
*/
|
|
103
|
+
static extractLinkHeaders(linkHeader: string | string[] | undefined): IHttpLinkHeader[] | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Split a combined Link header value into individual link-value segments, comma separated.
|
|
106
|
+
* @param linkHeader Raw Link header string.
|
|
107
|
+
* @returns Array of individual link-value segments.
|
|
108
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Link
|
|
109
|
+
*/
|
|
110
|
+
static extractLinkHeaderSegments(linkHeader: string): string[];
|
|
111
|
+
/**
|
|
112
|
+
* Extract the properties from a Link header.
|
|
113
|
+
* @param linkHeader The Link header value in format `<url>; rel="..."; param1=""; param2=""`.
|
|
114
|
+
* @returns The extracted URL, rel and optional params or undefined if invalid/missing.
|
|
115
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Link
|
|
116
|
+
*/
|
|
117
|
+
static extractLinkHeader(linkHeader: string): IHttpLinkHeader | undefined;
|
|
118
|
+
/**
|
|
119
|
+
* Create a compliant Link header.
|
|
120
|
+
* @param url The URL to include in the Link header.
|
|
121
|
+
* @param urlQueryParams Optional query parameters to include in the URL.
|
|
122
|
+
* @param rel The relation type (e.g., "next", "prev", "self").
|
|
123
|
+
* @returns The formatted Link header string.
|
|
124
|
+
* @throws GeneralError if the URL or rel are invalid.
|
|
125
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Link
|
|
126
|
+
*/
|
|
127
|
+
static createLinkHeader(url: string, urlQueryParams: {
|
|
128
|
+
[id: string]: string;
|
|
129
|
+
} | undefined, rel: HttpLinkRelType | HttpLinkRelType[] | string | string[], params?: {
|
|
130
|
+
[id: string]: string;
|
|
131
|
+
}): string;
|
|
17
132
|
}
|