create-request 0.0.1-beta.2 → 0.0.1-beta.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.
- package/README.md +490 -440
- package/dist/library/BaseRequest.d.ts +145 -6
- package/dist/library/BodyRequest.d.ts +13 -1
- package/dist/library/ResponseWrapper.d.ts +69 -30
- package/dist/library/enums.d.ts +37 -8
- package/dist/library/index.d.ts +15 -4
- package/dist/library/index.esm.js +1 -616
- package/dist/library/index.esm.js.map +1 -0
- package/dist/library/index.js +1 -635
- package/dist/library/index.js.map +1 -0
- package/dist/library/requestFactories.d.ts +60 -1
- package/dist/library/requestMethods.d.ts +60 -0
- package/dist/library/types/cache.d.ts +62 -0
- package/dist/library/types.d.ts +14 -3
- package/dist/library/utils/CacheManager.d.ts +82 -0
- package/dist/library/utils/CacheStorage.d.ts +49 -0
- package/dist/library/utils/Config.d.ts +125 -0
- package/dist/library/utils/CookieUtils.d.ts +9 -0
- package/dist/library/utils/CsrfUtils.d.ts +24 -0
- package/dist/library/utils/StorageProvider.d.ts +33 -0
- package/dist/library/utils/sizeUtils.d.ts +8 -0
- package/package.json +47 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/enums.ts","../../../src/ResponseWrapper.ts","../../../src/utils/CacheStorage.ts","../../../src/utils/CacheManager.ts","../../../src/utils/sizeUtils.ts","../../../src/utils/CookieUtils.ts","../../../src/RequestError.ts","../../../src/utils/CsrfUtils.ts","../../../src/utils/Config.ts","../../../src/BaseRequest.ts","../../../src/BodyRequest.ts","../../../src/requestMethods.ts","../../../src/index.ts","../../../src/requestFactories.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["HttpMethod","RequestPriority","CredentialsPolicy","RequestMode","RedirectMode","CacheMode","SameSitePolicy","BodyType","ReferrerPolicy","Object","defineProperty","exports","value","ResponseWrapper","constructor","response","this","bodyUsed","status","statusText","headers","ok","raw","getJson","undefined","jsonCache","textCache","JSON","parse","e","Error","json","getText","stringify","blobCache","text","getBlob","Blob","type","blob","getArrayBuffer","arrayBufferCache","uint8Array","TextEncoder","encode","buffer","arrayBuffer","getBody","body","createMemoryStorage","store","Map","get","key","set","has","delete","clear","createLocalStorageStorage","localStorage","getItem","setItem","console","warn","error","removeItem","createSessionStorageStorage","sessionStorage","CacheManager","options","entryCount","totalSize","storage","_ttl","createStorageProvider","generateKey","url","method","keyGenerator","customKey","keyPrefix","varyByHeaders","varyHeaders","forEach","header","normalizedHeader","toLowerCase","keys","h","length","Promise","resolve","entry","expiry","Date","now","ttl","serialized","timestamp","maxSize","maxBytes","size","match","num","parseFloat","_a","toUpperCase","parseSize","entrySize","maxEntries","CookieUtils","formatRequestCookies","cookies","cookiePairs","entries","name","valueOrOptions","push","encodeURIComponent","join","RequestError","message","super","timeoutError","captureStackTrace","setPrototypeOf","prototype","timeout","timeoutMs","fromResponse","networkError","originalError","stack","CsrfUtils","getTokenFromMeta","metaName","document","meta","querySelector","getAttribute","getTokenFromCookie","cookieName","cookie","split","trim","decodeURIComponent","isValidToken","token","test","filter","Boolean","Config","csrfHeaderName","xsrfCookieName","xsrfHeaderName","csrfToken","enableAutoXsrf","enableAntiCsrf","getInstance","instance","setCsrfToken","getCsrfToken","setCsrfHeaderName","getCsrfHeaderName","setXsrfCookieName","getXsrfCookieName","setXsrfHeaderName","getXsrfHeaderName","setEnableAutoXsrf","enable","isAutoXsrfEnabled","setEnableAntiCsrf","isAntiCsrfEnabled","reset","BaseRequest","requestOptions","queryParams","URLSearchParams","autoApplyCsrfProtection","cacheEnabled","withHeaders","withHeader","withTimeout","Number","isFinite","withRetries","retries","isInteger","onRetry","callback","withCredentials","credentialsPolicy","SAME_ORIGIN","credentials","withAbortController","controller","abortController","withReferrer","referrer","withReferrerPolicy","policy","referrerPolicy","withRedirect","redirect","withKeepAlive","keepalive","withPriority","priority","withQueryParams","params","Array","isArray","v","append","String","withQueryParam","withMode","mode","withContentType","contentType","withAuthorization","authValue","Authorization","withBasicAuth","username","password","encodeBase64","str","btoa","bytes","fromCharCode","apply","Uint8Array","Buffer","from","toString","withBearerToken","hasHeader","headerName","some","withCookies","currentHeaders","cookieValues","cookieHeaderKeys","cookieString","combinedCookieValue","newHeaders","withCookie","withCsrfToken","withoutCsrfProtection","withAntiCsrfHeaders","withCache","cacheManager","sendTo","formatUrlWithQueryParams","config","globalToken","xsrfToken","fetchOptions","basePromise","cacheKey","executeWithCache","executeWithRetries","executeRequest","responsePromise","async","then","getData","selector","data","enhancedError","urlObj","URL","searchParams","hasExistingParams","includes","maxRetries","attempt","requestError","AbortController","signal","timeoutId","abortedByTimeout","AbortSignal","addEventListener","aborted","abort","setTimeout","fetch","DOMException","clearTimeout","cachedEntry","cachedResponse","Response","Headers","responseData","BodyRequest","withBody","bodyType","STRING","setContentTypeIfNeeded","FormData","ArrayBuffer","ReadableStream","BINARY","GetRequest","GET","HeadRequest","HEAD","OptionsRequest","OPTIONS","DeleteRequest","DELETE","PostRequest","POST","PutRequest","PUT","PatchRequest","PATCH","create","post","put","del","patch","head"],"mappings":"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"}
|
|
@@ -1,30 +1,89 @@
|
|
|
1
1
|
import { GetRequest, PostRequest, PutRequest, DeleteRequest, PatchRequest, HeadRequest, OptionsRequest } from "./requestMethods";
|
|
2
2
|
/**
|
|
3
3
|
* Create a GET request
|
|
4
|
+
* Used for retrieving resources from the server.
|
|
5
|
+
*
|
|
6
|
+
* @returns A new GET request instance
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const users = await get()
|
|
10
|
+
* .withQueryParams({ limit: 10 })
|
|
11
|
+
* .sendTo('/api/users')
|
|
12
|
+
* .getJson();
|
|
4
13
|
*/
|
|
5
14
|
export declare function get(): GetRequest;
|
|
6
15
|
/**
|
|
7
16
|
* Create a POST request
|
|
17
|
+
* Used for creating new resources or submitting data.
|
|
18
|
+
*
|
|
19
|
+
* @returns A new POST request instance
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* const newUser = await post()
|
|
23
|
+
* .withJson({ name: 'John', email: 'john@example.com' })
|
|
24
|
+
* .sendTo('/api/users')
|
|
25
|
+
* .getJson();
|
|
8
26
|
*/
|
|
9
27
|
export declare function post(): PostRequest;
|
|
10
28
|
/**
|
|
11
29
|
* Create a PUT request
|
|
30
|
+
* Used for replacing or updating an existing resource.
|
|
31
|
+
*
|
|
32
|
+
* @returns A new PUT request instance
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* const updatedUser = await put()
|
|
36
|
+
* .withJson({ name: 'John Updated', email: 'john@example.com' })
|
|
37
|
+
* .sendTo('/api/users/123')
|
|
38
|
+
* .getJson();
|
|
12
39
|
*/
|
|
13
40
|
export declare function put(): PutRequest;
|
|
14
41
|
/**
|
|
15
42
|
* Create a DELETE request
|
|
16
|
-
*
|
|
43
|
+
* Used for removing resources from the server.
|
|
44
|
+
*
|
|
45
|
+
* @returns A new DELETE request instance
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* await del()
|
|
49
|
+
* .sendTo('/api/users/123')
|
|
50
|
+
* .getJson();
|
|
17
51
|
*/
|
|
18
52
|
export declare function del(): DeleteRequest;
|
|
19
53
|
/**
|
|
20
54
|
* Create a PATCH request
|
|
55
|
+
* Used for applying partial modifications to a resource.
|
|
56
|
+
*
|
|
57
|
+
* @returns A new PATCH request instance
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* const patchedUser = await patch()
|
|
61
|
+
* .withJson({ status: 'active' })
|
|
62
|
+
* .sendTo('/api/users/123')
|
|
63
|
+
* .getJson();
|
|
21
64
|
*/
|
|
22
65
|
export declare function patch(): PatchRequest;
|
|
23
66
|
/**
|
|
24
67
|
* Create a HEAD request
|
|
68
|
+
* Similar to GET but returns only headers without a body.
|
|
69
|
+
*
|
|
70
|
+
* @returns A new HEAD request instance
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* const response = await head()
|
|
74
|
+
* .sendTo('/api/users/123');
|
|
75
|
+
* console.log(response.headers.get('Last-Modified'));
|
|
25
76
|
*/
|
|
26
77
|
export declare function head(): HeadRequest;
|
|
27
78
|
/**
|
|
28
79
|
* Create an OPTIONS request
|
|
80
|
+
* Used to describe the communication options for a resource.
|
|
81
|
+
*
|
|
82
|
+
* @returns A new OPTIONS request instance
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* const response = await options()
|
|
86
|
+
* .sendTo('/api/users');
|
|
87
|
+
* console.log(response.headers.get('Allow'));
|
|
29
88
|
*/
|
|
30
89
|
export declare function options(): OptionsRequest;
|
|
@@ -1,24 +1,84 @@
|
|
|
1
1
|
import { BaseRequest } from "./BaseRequest";
|
|
2
2
|
import { BodyRequest } from "./BodyRequest";
|
|
3
3
|
import { HttpMethod } from "./enums";
|
|
4
|
+
/**
|
|
5
|
+
* HTTP GET request implementation
|
|
6
|
+
* Used for retrieving data from an API endpoint.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* const request = new GetRequest()
|
|
10
|
+
* .withQueryParams({ id: '123' })
|
|
11
|
+
* .sendTo('/api/users');
|
|
12
|
+
*/
|
|
4
13
|
export declare class GetRequest extends BaseRequest {
|
|
5
14
|
protected method: HttpMethod;
|
|
6
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* HTTP HEAD request implementation
|
|
18
|
+
* Similar to GET but returns only headers without a response body.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* const request = new HeadRequest()
|
|
22
|
+
* .sendTo('/api/users/123');
|
|
23
|
+
*/
|
|
7
24
|
export declare class HeadRequest extends BaseRequest {
|
|
8
25
|
protected method: HttpMethod;
|
|
9
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* HTTP OPTIONS request implementation
|
|
29
|
+
* Used to describe the communication options for the target resource.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* const request = new OptionsRequest()
|
|
33
|
+
* .sendTo('/api/users');
|
|
34
|
+
*/
|
|
10
35
|
export declare class OptionsRequest extends BaseRequest {
|
|
11
36
|
protected method: HttpMethod;
|
|
12
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* HTTP DELETE request implementation
|
|
40
|
+
* Used to delete a resource on the server.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* const request = new DeleteRequest()
|
|
44
|
+
* .sendTo('/api/users/123');
|
|
45
|
+
*/
|
|
13
46
|
export declare class DeleteRequest extends BaseRequest {
|
|
14
47
|
protected method: HttpMethod;
|
|
15
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* HTTP POST request implementation
|
|
51
|
+
* Used to create a new resource or submit data for processing.
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* const request = new PostRequest()
|
|
55
|
+
* .withJson({ name: 'John', email: 'john@example.com' })
|
|
56
|
+
* .sendTo('/api/users');
|
|
57
|
+
*/
|
|
16
58
|
export declare class PostRequest extends BodyRequest {
|
|
17
59
|
protected method: HttpMethod;
|
|
18
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* HTTP PUT request implementation
|
|
63
|
+
* Used to replace or update an existing resource.
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* const request = new PutRequest()
|
|
67
|
+
* .withJson({ id: '123', name: 'John', email: 'john@example.com' })
|
|
68
|
+
* .sendTo('/api/users/123');
|
|
69
|
+
*/
|
|
19
70
|
export declare class PutRequest extends BodyRequest {
|
|
20
71
|
protected method: HttpMethod;
|
|
21
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* HTTP PATCH request implementation
|
|
75
|
+
* Used to apply partial modifications to a resource.
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* const request = new PatchRequest()
|
|
79
|
+
* .withJson({ email: 'new.email@example.com' })
|
|
80
|
+
* .sendTo('/api/users/123');
|
|
81
|
+
*/
|
|
22
82
|
export declare class PatchRequest extends BodyRequest {
|
|
23
83
|
protected method: HttpMethod;
|
|
24
84
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { StorageProvider } from "../utils/StorageProvider";
|
|
2
|
+
/**
|
|
3
|
+
* Cache entry with metadata
|
|
4
|
+
*/
|
|
5
|
+
export interface CacheEntry {
|
|
6
|
+
value: any;
|
|
7
|
+
expiry: number | null;
|
|
8
|
+
timestamp: number;
|
|
9
|
+
headers?: Record<string, string>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Options for cache configuration
|
|
13
|
+
*/
|
|
14
|
+
export interface CacheOptions {
|
|
15
|
+
/**
|
|
16
|
+
* Storage provider to use for caching
|
|
17
|
+
* Default is memory cache (new Map())
|
|
18
|
+
*/
|
|
19
|
+
storage?: StorageProvider | Storage | Map<string, any>;
|
|
20
|
+
/**
|
|
21
|
+
* Time to live in milliseconds
|
|
22
|
+
* Default is no expiration
|
|
23
|
+
*/
|
|
24
|
+
ttl?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Custom key generator function
|
|
27
|
+
* @param url Request URL
|
|
28
|
+
* @param method Request method
|
|
29
|
+
* @param headers Request headers
|
|
30
|
+
* @param body Request body
|
|
31
|
+
*/
|
|
32
|
+
keyGenerator?: (url: string, method: string, headers?: Record<string, string>, body?: any) => string;
|
|
33
|
+
/**
|
|
34
|
+
* Headers to vary the cache by
|
|
35
|
+
* If these headers change, a new cache entry will be created
|
|
36
|
+
*/
|
|
37
|
+
varyByHeaders?: string[];
|
|
38
|
+
/**
|
|
39
|
+
* Maximum number of entries in the cache
|
|
40
|
+
* Only applicable for memory cache (Map)
|
|
41
|
+
*/
|
|
42
|
+
maxEntries?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Maximum size of the cache in bytes or with units (e.g. "10MB")
|
|
45
|
+
* String format supports KB, MB, GB (case-insensitive)
|
|
46
|
+
*/
|
|
47
|
+
maxSize?: number | string;
|
|
48
|
+
/**
|
|
49
|
+
* Prefix for cache keys
|
|
50
|
+
* Useful for namespacing cache entries
|
|
51
|
+
*/
|
|
52
|
+
keyPrefix?: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Type for cacheable response data
|
|
56
|
+
*/
|
|
57
|
+
export type CacheableResponse = {
|
|
58
|
+
data: any;
|
|
59
|
+
headers: Record<string, string>;
|
|
60
|
+
status: number;
|
|
61
|
+
statusText: string;
|
|
62
|
+
};
|
package/dist/library/types.d.ts
CHANGED
|
@@ -1,11 +1,22 @@
|
|
|
1
|
-
import { HttpMethod, RequestPriority, CredentialsPolicy, RequestMode, RedirectMode, CacheMode } from "./enums";
|
|
1
|
+
import { HttpMethod, RequestPriority, CredentialsPolicy, RequestMode, RedirectMode, CacheMode, SameSitePolicy } from "./enums";
|
|
2
2
|
import type { RequestError } from "./RequestError";
|
|
3
3
|
export type Body = null | Blob | string | object | FormData | ArrayBuffer | URLSearchParams | ReadableStream;
|
|
4
4
|
export type RetryCallback = (options: {
|
|
5
|
-
|
|
5
|
+
attempt: number;
|
|
6
6
|
error: RequestError;
|
|
7
7
|
}) => void | Promise<void>;
|
|
8
|
-
export
|
|
8
|
+
export interface CookieOptions {
|
|
9
|
+
value: string;
|
|
10
|
+
secure?: boolean;
|
|
11
|
+
httpOnly?: boolean;
|
|
12
|
+
sameSite?: SameSitePolicy;
|
|
13
|
+
expires?: Date;
|
|
14
|
+
path?: string;
|
|
15
|
+
domain?: string;
|
|
16
|
+
maxAge?: number;
|
|
17
|
+
}
|
|
18
|
+
export type CookiesRecord = Record<string, string | CookieOptions>;
|
|
19
|
+
export { CacheMode, HttpMethod, RequestMode, RedirectMode, SameSitePolicy, RequestPriority, CredentialsPolicy };
|
|
9
20
|
export interface RequestOptions extends Omit<RequestInit, "signal" | "body" | "method" | "credentials" | "mode" | "redirect" | "cache" | "priority"> {
|
|
10
21
|
timeout?: number;
|
|
11
22
|
retries?: number;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { CacheEntry, CacheOptions } from "../types/cache";
|
|
2
|
+
/**
|
|
3
|
+
* Cache manager that handles storage operations
|
|
4
|
+
* Provides methods for storing, retrieving, and managing cached API responses.
|
|
5
|
+
*/
|
|
6
|
+
export declare class CacheManager {
|
|
7
|
+
private storage;
|
|
8
|
+
private options;
|
|
9
|
+
private entryCount;
|
|
10
|
+
private totalSize;
|
|
11
|
+
constructor(options?: CacheOptions);
|
|
12
|
+
/**
|
|
13
|
+
* Generate a cache key based on request details
|
|
14
|
+
* Keys can vary based on URL, method, headers, and request body.
|
|
15
|
+
*
|
|
16
|
+
* @param url - The request URL
|
|
17
|
+
* @param method - The HTTP method
|
|
18
|
+
* @param headers - Request headers that might affect caching
|
|
19
|
+
* @param body - Request body for non-GET requests
|
|
20
|
+
* @returns A unique cache key string
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* const key = cacheManager.generateKey("/api/users", "GET", { "Accept": "application/json" });
|
|
24
|
+
*/
|
|
25
|
+
generateKey(url: string, method: string, headers?: Record<string, string>, body?: unknown): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get a cached value by key
|
|
28
|
+
* Checks if the entry exists and isn't expired before returning it.
|
|
29
|
+
*
|
|
30
|
+
* @param key - The cache key to retrieve
|
|
31
|
+
* @returns The cached entry or null if not found or expired
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* const entry = await cacheManager.get("GET:/api/users");
|
|
35
|
+
*/
|
|
36
|
+
get(key: string): Promise<CacheEntry | null>;
|
|
37
|
+
/**
|
|
38
|
+
* Store a value in the cache
|
|
39
|
+
* Enforces size and entry count limits if configured.
|
|
40
|
+
*
|
|
41
|
+
* @param key - The cache key
|
|
42
|
+
* @param value - The value to cache
|
|
43
|
+
* @param headers - Response headers to store with the cached value
|
|
44
|
+
* @returns Promise that resolves when caching is complete
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* await cacheManager.set("GET:/api/users", userData, { "Content-Type": "application/json" });
|
|
48
|
+
*/
|
|
49
|
+
set(key: string, value: unknown, headers?: Record<string, string>): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* Check if a key exists in the cache
|
|
52
|
+
*
|
|
53
|
+
* @param key - The cache key to check
|
|
54
|
+
* @returns Promise that resolves to true if the key exists, false otherwise
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* if (await cacheManager.has("GET:/api/users")) {
|
|
58
|
+
* // Use cached value
|
|
59
|
+
* }
|
|
60
|
+
*/
|
|
61
|
+
has(key: string): Promise<boolean>;
|
|
62
|
+
/**
|
|
63
|
+
* Delete a specific key from the cache
|
|
64
|
+
*
|
|
65
|
+
* @param key - The cache key to delete
|
|
66
|
+
* @returns Promise that resolves when deletion is complete
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* await cacheManager.delete("GET:/api/users");
|
|
70
|
+
*/
|
|
71
|
+
delete(key: string): Promise<void>;
|
|
72
|
+
/**
|
|
73
|
+
* Clear the entire cache
|
|
74
|
+
* Resets internal counters for entry count and size.
|
|
75
|
+
*
|
|
76
|
+
* @returns Promise that resolves when the cache is cleared
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* await cacheManager.clear();
|
|
80
|
+
*/
|
|
81
|
+
clear(): Promise<void>;
|
|
82
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { CacheOptions } from "../types/cache";
|
|
2
|
+
import type { StorageProvider } from "./StorageProvider";
|
|
3
|
+
/**
|
|
4
|
+
* Create a memory storage provider using Map
|
|
5
|
+
* This provider stores data in memory and is cleared when the application restarts.
|
|
6
|
+
*
|
|
7
|
+
* @returns A storage provider using an in-memory Map
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const storage = createMemoryStorage();
|
|
11
|
+
* storage.set("key", "value");
|
|
12
|
+
*/
|
|
13
|
+
export declare function createMemoryStorage(): StorageProvider;
|
|
14
|
+
/**
|
|
15
|
+
* Create a localStorage-based storage provider
|
|
16
|
+
* This provider persists data between browser sessions.
|
|
17
|
+
*
|
|
18
|
+
* @returns A storage provider using localStorage
|
|
19
|
+
* @throws Console warnings if localStorage is not available or storage quota is exceeded
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* const storage = createLocalStorageStorage();
|
|
23
|
+
* storage.set("key", "value");
|
|
24
|
+
*/
|
|
25
|
+
export declare function createLocalStorageStorage(): StorageProvider;
|
|
26
|
+
/**
|
|
27
|
+
* Create a sessionStorage-based storage provider
|
|
28
|
+
* This provider persists data only for the current browser session.
|
|
29
|
+
*
|
|
30
|
+
* @returns A storage provider using sessionStorage
|
|
31
|
+
* @throws Console warnings if sessionStorage is not available or storage quota is exceeded
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* const storage = createSessionStorageStorage();
|
|
35
|
+
* storage.set("key", "value");
|
|
36
|
+
*/
|
|
37
|
+
export declare function createSessionStorageStorage(): StorageProvider;
|
|
38
|
+
/**
|
|
39
|
+
* Create a storage provider from cache options
|
|
40
|
+
* Selects the appropriate storage implementation based on the provided options.
|
|
41
|
+
* Falls back to memory storage if no suitable storage is found.
|
|
42
|
+
*
|
|
43
|
+
* @param options - Cache configuration options
|
|
44
|
+
* @returns A storage provider based on the options
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* const storage = createStorageProvider({ storage: localStorage });
|
|
48
|
+
*/
|
|
49
|
+
export declare function createStorageProvider(options?: CacheOptions): StorageProvider;
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global configuration for create-request
|
|
3
|
+
*/
|
|
4
|
+
export declare class Config {
|
|
5
|
+
private static instance;
|
|
6
|
+
private csrfHeaderName;
|
|
7
|
+
private xsrfCookieName;
|
|
8
|
+
private xsrfHeaderName;
|
|
9
|
+
private csrfToken;
|
|
10
|
+
private enableAutoXsrf;
|
|
11
|
+
private enableAntiCsrf;
|
|
12
|
+
private constructor();
|
|
13
|
+
/**
|
|
14
|
+
* Get the singleton instance of the Config class
|
|
15
|
+
*
|
|
16
|
+
* @returns The global configuration instance
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* const config = Config.getInstance();
|
|
20
|
+
* config.setCsrfToken('token123');
|
|
21
|
+
*/
|
|
22
|
+
static getInstance(): Config;
|
|
23
|
+
/**
|
|
24
|
+
* Set a global CSRF token to be used for all requests
|
|
25
|
+
*
|
|
26
|
+
* @param token - The CSRF token value
|
|
27
|
+
* @returns The config instance for chaining
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* Config.getInstance().setCsrfToken('myToken123');
|
|
31
|
+
*/
|
|
32
|
+
setCsrfToken(token: string): Config;
|
|
33
|
+
/**
|
|
34
|
+
* Get the global CSRF token that will be automatically applied to requests
|
|
35
|
+
*
|
|
36
|
+
* @returns The current CSRF token or null if not set
|
|
37
|
+
*/
|
|
38
|
+
getCsrfToken(): string | null;
|
|
39
|
+
/**
|
|
40
|
+
* Set the CSRF header name used when sending the token
|
|
41
|
+
*
|
|
42
|
+
* @param name - The header name to use
|
|
43
|
+
* @returns The config instance for chaining
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* Config.getInstance().setCsrfHeaderName('X-My-CSRF-Token');
|
|
47
|
+
*/
|
|
48
|
+
setCsrfHeaderName(name: string): Config;
|
|
49
|
+
/**
|
|
50
|
+
* Get the configured CSRF header name
|
|
51
|
+
*
|
|
52
|
+
* @returns The current CSRF header name
|
|
53
|
+
*/
|
|
54
|
+
getCsrfHeaderName(): string;
|
|
55
|
+
/**
|
|
56
|
+
* Set the XSRF cookie name to look for when extracting tokens from cookies
|
|
57
|
+
*
|
|
58
|
+
* @param name - The cookie name to look for
|
|
59
|
+
* @returns The config instance for chaining
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* Config.getInstance().setXsrfCookieName('MY-XSRF-COOKIE');
|
|
63
|
+
*/
|
|
64
|
+
setXsrfCookieName(name: string): Config;
|
|
65
|
+
/**
|
|
66
|
+
* Get the configured XSRF cookie name
|
|
67
|
+
*
|
|
68
|
+
* @returns The current XSRF cookie name
|
|
69
|
+
*/
|
|
70
|
+
getXsrfCookieName(): string;
|
|
71
|
+
/**
|
|
72
|
+
* Set the XSRF header name for sending tokens extracted from cookies
|
|
73
|
+
*
|
|
74
|
+
* @param name - The header name to use
|
|
75
|
+
* @returns The config instance for chaining
|
|
76
|
+
*/
|
|
77
|
+
setXsrfHeaderName(name: string): Config;
|
|
78
|
+
/**
|
|
79
|
+
* Get the configured XSRF header name
|
|
80
|
+
*
|
|
81
|
+
* @returns The current XSRF header name
|
|
82
|
+
*/
|
|
83
|
+
getXsrfHeaderName(): string;
|
|
84
|
+
/**
|
|
85
|
+
* Enable or disable automatic extraction of XSRF tokens from cookies
|
|
86
|
+
* When enabled, the library will look for XSRF tokens in cookies and
|
|
87
|
+
* automatically add them to request headers.
|
|
88
|
+
*
|
|
89
|
+
* @param enable - Whether to enable this feature
|
|
90
|
+
* @returns The config instance for chaining
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* Config.getInstance().setEnableAutoXsrf(false); // Disable XSRF extraction
|
|
94
|
+
*/
|
|
95
|
+
setEnableAutoXsrf(enable: boolean): Config;
|
|
96
|
+
/**
|
|
97
|
+
* Check if automatic XSRF token extraction is enabled
|
|
98
|
+
*
|
|
99
|
+
* @returns True if automatic XSRF is enabled
|
|
100
|
+
*/
|
|
101
|
+
isAutoXsrfEnabled(): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Enable or disable automatic addition of anti-CSRF headers
|
|
104
|
+
* When enabled, X-Requested-With: XMLHttpRequest will be added to all requests.
|
|
105
|
+
*
|
|
106
|
+
* @param enable - Whether to enable this feature
|
|
107
|
+
* @returns The config instance for chaining
|
|
108
|
+
*/
|
|
109
|
+
setEnableAntiCsrf(enable: boolean): Config;
|
|
110
|
+
/**
|
|
111
|
+
* Check if anti-CSRF protection is enabled
|
|
112
|
+
*
|
|
113
|
+
* @returns True if anti-CSRF protection is enabled
|
|
114
|
+
*/
|
|
115
|
+
isAntiCsrfEnabled(): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Reset all configuration options to their default values
|
|
118
|
+
*
|
|
119
|
+
* @returns The config instance for chaining
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* Config.getInstance().reset();
|
|
123
|
+
*/
|
|
124
|
+
reset(): Config;
|
|
125
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CookiesRecord } from "../types";
|
|
2
|
+
export declare class CookieUtils {
|
|
3
|
+
/**
|
|
4
|
+
* Formats cookies for a request
|
|
5
|
+
* @param cookies Object containing cookie name-value pairs or cookie options
|
|
6
|
+
* @returns Formatted cookie string for the Cookie header
|
|
7
|
+
*/
|
|
8
|
+
static formatRequestCookies(cookies: CookiesRecord): string;
|
|
9
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility class for CSRF token management
|
|
3
|
+
*/
|
|
4
|
+
export declare class CsrfUtils {
|
|
5
|
+
/**
|
|
6
|
+
* Extracts CSRF token from a meta tag in the document head
|
|
7
|
+
* @param metaName The name attribute of the meta tag (default: "csrf-token")
|
|
8
|
+
* @returns The CSRF token or null if not found
|
|
9
|
+
*/
|
|
10
|
+
static getTokenFromMeta(metaName?: string): string | null;
|
|
11
|
+
/**
|
|
12
|
+
* Extracts CSRF token from a cookie
|
|
13
|
+
* @param cookieName The name of the cookie containing the CSRF token
|
|
14
|
+
* @returns The CSRF token or null if not found
|
|
15
|
+
*/
|
|
16
|
+
static getTokenFromCookie(cookieName?: string): string | null;
|
|
17
|
+
/**
|
|
18
|
+
* Validates if the provided string is a potential CSRF token
|
|
19
|
+
* Checks if the token meets security requirements
|
|
20
|
+
* @param token The token to validate
|
|
21
|
+
* @returns Whether the token is valid
|
|
22
|
+
*/
|
|
23
|
+
static isValidToken(token: string | null | undefined): boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Interface for storage providers used by the cache system
|
|
3
|
+
*/
|
|
4
|
+
export interface StorageProvider {
|
|
5
|
+
/**
|
|
6
|
+
* Get a value from storage
|
|
7
|
+
* @param key The key to retrieve
|
|
8
|
+
* @returns The stored value or null if not found
|
|
9
|
+
*/
|
|
10
|
+
get(key: string): Promise<string | null> | string | null;
|
|
11
|
+
/**
|
|
12
|
+
* Set a value in storage
|
|
13
|
+
* @param key The key to store
|
|
14
|
+
* @param value The value to store
|
|
15
|
+
* @param ttl Optional TTL in milliseconds
|
|
16
|
+
* @returns Promise or void
|
|
17
|
+
*/
|
|
18
|
+
set(key: string, value: string, ttl?: number): Promise<void> | void;
|
|
19
|
+
/**
|
|
20
|
+
* Check if a key exists in storage
|
|
21
|
+
* @param key The key to check
|
|
22
|
+
*/
|
|
23
|
+
has(key: string): Promise<boolean> | boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Delete a value from storage
|
|
26
|
+
* @param key The key to delete
|
|
27
|
+
*/
|
|
28
|
+
delete(key: string): Promise<void> | void;
|
|
29
|
+
/**
|
|
30
|
+
* Clear all values from storage
|
|
31
|
+
*/
|
|
32
|
+
clear(): Promise<void> | void;
|
|
33
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parse size strings like "10MB" into bytes
|
|
3
|
+
* Supports KB, MB, and GB units. If no unit is specified, assumes bytes.
|
|
4
|
+
*
|
|
5
|
+
* @param size - Size as number (bytes) or string with units (e.g., "5MB")
|
|
6
|
+
* @returns Size in bytes
|
|
7
|
+
*/
|
|
8
|
+
export declare function parseSize(size: string | number): number;
|