@mweinbach/apple-docs-mcp 1.0.0
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/LICENSE +21 -0
- package/README.md +560 -0
- package/dist/constants/browser-headers.d.ts +48 -0
- package/dist/constants/browser-headers.d.ts.map +1 -0
- package/dist/constants/browser-headers.js +166 -0
- package/dist/constants/browser-headers.js.map +1 -0
- package/dist/index.d.ts +83 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +215 -0
- package/dist/index.js.map +1 -0
- package/dist/schemas/analyze-api.schema.d.ts +42 -0
- package/dist/schemas/analyze-api.schema.d.ts.map +1 -0
- package/dist/schemas/analyze-api.schema.js +23 -0
- package/dist/schemas/analyze-api.schema.js.map +1 -0
- package/dist/schemas/apple-docs.schema.d.ts +18 -0
- package/dist/schemas/apple-docs.schema.d.ts.map +1 -0
- package/dist/schemas/apple-docs.schema.js +10 -0
- package/dist/schemas/apple-docs.schema.js.map +1 -0
- package/dist/schemas/doc-content.schema.d.ts +24 -0
- package/dist/schemas/doc-content.schema.d.ts.map +1 -0
- package/dist/schemas/doc-content.schema.js +10 -0
- package/dist/schemas/doc-content.schema.js.map +1 -0
- package/dist/schemas/documentation-updates.schema.d.ts +27 -0
- package/dist/schemas/documentation-updates.schema.d.ts.map +1 -0
- package/dist/schemas/documentation-updates.schema.js +12 -0
- package/dist/schemas/documentation-updates.schema.js.map +1 -0
- package/dist/schemas/framework-symbols.schema.d.ts +24 -0
- package/dist/schemas/framework-symbols.schema.d.ts.map +1 -0
- package/dist/schemas/framework-symbols.schema.js +11 -0
- package/dist/schemas/framework-symbols.schema.js.map +1 -0
- package/dist/schemas/index.d.ts +15 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +15 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/platform-compatibility.schema.d.ts +18 -0
- package/dist/schemas/platform-compatibility.schema.d.ts.map +1 -0
- package/dist/schemas/platform-compatibility.schema.js +8 -0
- package/dist/schemas/platform-compatibility.schema.js.map +1 -0
- package/dist/schemas/references.schema.d.ts +18 -0
- package/dist/schemas/references.schema.d.ts.map +1 -0
- package/dist/schemas/references.schema.js +9 -0
- package/dist/schemas/references.schema.js.map +1 -0
- package/dist/schemas/related-apis.schema.d.ts +21 -0
- package/dist/schemas/related-apis.schema.d.ts.map +1 -0
- package/dist/schemas/related-apis.schema.js +9 -0
- package/dist/schemas/related-apis.schema.js.map +1 -0
- package/dist/schemas/sample-code.schema.d.ts +21 -0
- package/dist/schemas/sample-code.schema.d.ts.map +1 -0
- package/dist/schemas/sample-code.schema.js +10 -0
- package/dist/schemas/sample-code.schema.js.map +1 -0
- package/dist/schemas/search.schema.d.ts +15 -0
- package/dist/schemas/search.schema.d.ts.map +1 -0
- package/dist/schemas/search.schema.js +8 -0
- package/dist/schemas/search.schema.js.map +1 -0
- package/dist/schemas/similar-apis.schema.d.ts +21 -0
- package/dist/schemas/similar-apis.schema.d.ts.map +1 -0
- package/dist/schemas/similar-apis.schema.js +9 -0
- package/dist/schemas/similar-apis.schema.js.map +1 -0
- package/dist/schemas/technologies.schema.d.ts +21 -0
- package/dist/schemas/technologies.schema.d.ts.map +1 -0
- package/dist/schemas/technologies.schema.js +10 -0
- package/dist/schemas/technologies.schema.js.map +1 -0
- package/dist/schemas/technology-overviews.schema.d.ts +24 -0
- package/dist/schemas/technology-overviews.schema.d.ts.map +1 -0
- package/dist/schemas/technology-overviews.schema.js +11 -0
- package/dist/schemas/technology-overviews.schema.js.map +1 -0
- package/dist/schemas/wwdc.schemas.d.ts +208 -0
- package/dist/schemas/wwdc.schemas.d.ts.map +1 -0
- package/dist/schemas/wwdc.schemas.js +97 -0
- package/dist/schemas/wwdc.schemas.js.map +1 -0
- package/dist/tools/definitions.d.ts +10 -0
- package/dist/tools/definitions.d.ts.map +1 -0
- package/dist/tools/definitions.js +690 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/doc-fetcher.d.ts +19 -0
- package/dist/tools/doc-fetcher.d.ts.map +1 -0
- package/dist/tools/doc-fetcher.js +487 -0
- package/dist/tools/doc-fetcher.js.map +1 -0
- package/dist/tools/doc-formatter.d.ts +69 -0
- package/dist/tools/doc-formatter.d.ts.map +1 -0
- package/dist/tools/doc-formatter.js +208 -0
- package/dist/tools/doc-formatter.js.map +1 -0
- package/dist/tools/find-similar-apis.d.ts +5 -0
- package/dist/tools/find-similar-apis.d.ts.map +1 -0
- package/dist/tools/find-similar-apis.js +275 -0
- package/dist/tools/find-similar-apis.js.map +1 -0
- package/dist/tools/get-documentation-updates.d.ts +5 -0
- package/dist/tools/get-documentation-updates.d.ts.map +1 -0
- package/dist/tools/get-documentation-updates.js +244 -0
- package/dist/tools/get-documentation-updates.js.map +1 -0
- package/dist/tools/get-platform-compatibility.d.ts +5 -0
- package/dist/tools/get-platform-compatibility.d.ts.map +1 -0
- package/dist/tools/get-platform-compatibility.js +205 -0
- package/dist/tools/get-platform-compatibility.js.map +1 -0
- package/dist/tools/get-related-apis.d.ts +5 -0
- package/dist/tools/get-related-apis.d.ts.map +1 -0
- package/dist/tools/get-related-apis.js +155 -0
- package/dist/tools/get-related-apis.js.map +1 -0
- package/dist/tools/get-sample-code.d.ts +5 -0
- package/dist/tools/get-sample-code.d.ts.map +1 -0
- package/dist/tools/get-sample-code.js +375 -0
- package/dist/tools/get-sample-code.js.map +1 -0
- package/dist/tools/get-technology-overviews.d.ts +5 -0
- package/dist/tools/get-technology-overviews.d.ts.map +1 -0
- package/dist/tools/get-technology-overviews.js +306 -0
- package/dist/tools/get-technology-overviews.js.map +1 -0
- package/dist/tools/handlers.d.ts +29 -0
- package/dist/tools/handlers.d.ts.map +1 -0
- package/dist/tools/handlers.js +350 -0
- package/dist/tools/handlers.js.map +1 -0
- package/dist/tools/list-technologies.d.ts +5 -0
- package/dist/tools/list-technologies.d.ts.map +1 -0
- package/dist/tools/list-technologies.js +165 -0
- package/dist/tools/list-technologies.js.map +1 -0
- package/dist/tools/resolve-references-batch.d.ts +5 -0
- package/dist/tools/resolve-references-batch.d.ts.map +1 -0
- package/dist/tools/resolve-references-batch.js +199 -0
- package/dist/tools/resolve-references-batch.js.map +1 -0
- package/dist/tools/search-framework-symbols.d.ts +7 -0
- package/dist/tools/search-framework-symbols.d.ts.map +1 -0
- package/dist/tools/search-framework-symbols.js +235 -0
- package/dist/tools/search-framework-symbols.js.map +1 -0
- package/dist/tools/search-parser.d.ts +15 -0
- package/dist/tools/search-parser.d.ts.map +1 -0
- package/dist/tools/search-parser.js +188 -0
- package/dist/tools/search-parser.js.map +1 -0
- package/dist/tools/search-result-parser.d.ts +52 -0
- package/dist/tools/search-result-parser.d.ts.map +1 -0
- package/dist/tools/search-result-parser.js +137 -0
- package/dist/tools/search-result-parser.js.map +1 -0
- package/dist/tools/tools-guide.d.ts +124 -0
- package/dist/tools/tools-guide.d.ts.map +1 -0
- package/dist/tools/tools-guide.js +389 -0
- package/dist/tools/tools-guide.js.map +1 -0
- package/dist/tools/wwdc/content-extractor.d.ts +9 -0
- package/dist/tools/wwdc/content-extractor.d.ts.map +1 -0
- package/dist/tools/wwdc/content-extractor.js +520 -0
- package/dist/tools/wwdc/content-extractor.js.map +1 -0
- package/dist/tools/wwdc/topics-extractor.d.ts +32 -0
- package/dist/tools/wwdc/topics-extractor.d.ts.map +1 -0
- package/dist/tools/wwdc/topics-extractor.js +146 -0
- package/dist/tools/wwdc/topics-extractor.js.map +1 -0
- package/dist/tools/wwdc/video-list-extractor.d.ts +13 -0
- package/dist/tools/wwdc/video-list-extractor.d.ts.map +1 -0
- package/dist/tools/wwdc/video-list-extractor.js +238 -0
- package/dist/tools/wwdc/video-list-extractor.js.map +1 -0
- package/dist/tools/wwdc/wwdc-handlers.d.ts +32 -0
- package/dist/tools/wwdc/wwdc-handlers.d.ts.map +1 -0
- package/dist/tools/wwdc/wwdc-handlers.js +791 -0
- package/dist/tools/wwdc/wwdc-handlers.js.map +1 -0
- package/dist/types/apple-docs.d.ts +112 -0
- package/dist/types/apple-docs.d.ts.map +1 -0
- package/dist/types/apple-docs.js +5 -0
- package/dist/types/apple-docs.js.map +1 -0
- package/dist/types/cache.d.ts +28 -0
- package/dist/types/cache.d.ts.map +1 -0
- package/dist/types/cache.js +5 -0
- package/dist/types/cache.js.map +1 -0
- package/dist/types/content-sections.d.ts +37 -0
- package/dist/types/content-sections.d.ts.map +1 -0
- package/dist/types/content-sections.js +5 -0
- package/dist/types/content-sections.js.map +1 -0
- package/dist/types/error.d.ts +39 -0
- package/dist/types/error.d.ts.map +1 -0
- package/dist/types/error.js +21 -0
- package/dist/types/error.js.map +1 -0
- package/dist/types/headers.d.ts +95 -0
- package/dist/types/headers.d.ts.map +1 -0
- package/dist/types/headers.js +5 -0
- package/dist/types/headers.js.map +1 -0
- package/dist/types/http.d.ts +31 -0
- package/dist/types/http.d.ts.map +1 -0
- package/dist/types/http.js +5 -0
- package/dist/types/http.js.map +1 -0
- package/dist/types/index.d.ts +11 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +12 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/search.d.ts +62 -0
- package/dist/types/search.d.ts.map +1 -0
- package/dist/types/search.js +5 -0
- package/dist/types/search.js.map +1 -0
- package/dist/types/sections.d.ts +64 -0
- package/dist/types/sections.d.ts.map +1 -0
- package/dist/types/sections.js +5 -0
- package/dist/types/sections.js.map +1 -0
- package/dist/types/tools/platform.d.ts +33 -0
- package/dist/types/tools/platform.d.ts.map +1 -0
- package/dist/types/tools/platform.js +5 -0
- package/dist/types/tools/platform.js.map +1 -0
- package/dist/types/tools/sample-code.d.ts +23 -0
- package/dist/types/tools/sample-code.d.ts.map +1 -0
- package/dist/types/tools/sample-code.js +5 -0
- package/dist/types/tools/sample-code.js.map +1 -0
- package/dist/types/tools/technology.d.ts +18 -0
- package/dist/types/tools/technology.d.ts.map +1 -0
- package/dist/types/tools/technology.js +5 -0
- package/dist/types/tools/technology.js.map +1 -0
- package/dist/types/tools/updates.d.ts +23 -0
- package/dist/types/tools/updates.d.ts.map +1 -0
- package/dist/types/tools/updates.js +5 -0
- package/dist/types/tools/updates.js.map +1 -0
- package/dist/types/wwdc.d.ts +200 -0
- package/dist/types/wwdc.d.ts.map +1 -0
- package/dist/types/wwdc.js +5 -0
- package/dist/types/wwdc.js.map +1 -0
- package/dist/utils/cache-warmer.d.ts +22 -0
- package/dist/utils/cache-warmer.d.ts.map +1 -0
- package/dist/utils/cache-warmer.js +115 -0
- package/dist/utils/cache-warmer.js.map +1 -0
- package/dist/utils/cache.d.ts +109 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +302 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/constants.d.ts +178 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +266 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/error-handler.d.ts +80 -0
- package/dist/utils/error-handler.d.ts.map +1 -0
- package/dist/utils/error-handler.js +437 -0
- package/dist/utils/error-handler.js.map +1 -0
- package/dist/utils/framework-mapper.d.ts +84 -0
- package/dist/utils/framework-mapper.d.ts.map +1 -0
- package/dist/utils/framework-mapper.js +534 -0
- package/dist/utils/framework-mapper.js.map +1 -0
- package/dist/utils/http-client.d.ts +130 -0
- package/dist/utils/http-client.d.ts.map +1 -0
- package/dist/utils/http-client.js +464 -0
- package/dist/utils/http-client.js.map +1 -0
- package/dist/utils/http-headers-generator.d.ts +151 -0
- package/dist/utils/http-headers-generator.d.ts.map +1 -0
- package/dist/utils/http-headers-generator.js +407 -0
- package/dist/utils/http-headers-generator.js.map +1 -0
- package/dist/utils/logger.d.ts +44 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +73 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/preloader.d.ts +20 -0
- package/dist/utils/preloader.d.ts.map +1 -0
- package/dist/utils/preloader.js +82 -0
- package/dist/utils/preloader.js.map +1 -0
- package/dist/utils/rate-limiter.d.ts +28 -0
- package/dist/utils/rate-limiter.d.ts.map +1 -0
- package/dist/utils/rate-limiter.js +48 -0
- package/dist/utils/rate-limiter.js.map +1 -0
- package/dist/utils/topic-mapper.d.ts +18 -0
- package/dist/utils/topic-mapper.d.ts.map +1 -0
- package/dist/utils/topic-mapper.js +182 -0
- package/dist/utils/topic-mapper.js.map +1 -0
- package/dist/utils/url-converter.d.ts +22 -0
- package/dist/utils/url-converter.d.ts.map +1 -0
- package/dist/utils/url-converter.js +70 -0
- package/dist/utils/url-converter.js.map +1 -0
- package/dist/utils/user-agent-pool.d.ts +241 -0
- package/dist/utils/user-agent-pool.d.ts.map +1 -0
- package/dist/utils/user-agent-pool.js +557 -0
- package/dist/utils/user-agent-pool.js.map +1 -0
- package/dist/utils/wwdc-data-source-path.d.ts +9 -0
- package/dist/utils/wwdc-data-source-path.d.ts.map +1 -0
- package/dist/utils/wwdc-data-source-path.js +22 -0
- package/dist/utils/wwdc-data-source-path.js.map +1 -0
- package/dist/utils/wwdc-data-source.d.ts +36 -0
- package/dist/utils/wwdc-data-source.d.ts.map +1 -0
- package/dist/utils/wwdc-data-source.js +133 -0
- package/dist/utils/wwdc-data-source.js.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP Headers Generator for browser compatibility and anti-detection
|
|
3
|
+
*
|
|
4
|
+
* Generates browser-specific HTTP headers to make requests appear more authentic
|
|
5
|
+
* and reduce the likelihood of being detected as automated requests.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Browser-specific header templates (Chrome, Firefox, Safari, Edge)
|
|
9
|
+
* - Accept-Language rotation for geographic diversity
|
|
10
|
+
* - Sec-Fetch-* headers for modern browser simulation
|
|
11
|
+
* - Configurable privacy settings (DNT, etc.)
|
|
12
|
+
* - Custom header override support
|
|
13
|
+
* - High-performance singleton pattern
|
|
14
|
+
*/
|
|
15
|
+
import type { HeaderGeneratorConfig, UserAgent } from '../types/headers.js';
|
|
16
|
+
/**
|
|
17
|
+
* HTTP Headers Generator
|
|
18
|
+
*
|
|
19
|
+
* Generates authentic browser headers based on User-Agent strings and configuration.
|
|
20
|
+
* Uses singleton pattern for optimal performance and memory usage.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const generator = HttpHeadersGenerator.getInstance();
|
|
25
|
+
*
|
|
26
|
+
* const userAgent = {
|
|
27
|
+
* userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...',
|
|
28
|
+
* browserType: 'chrome',
|
|
29
|
+
* version: '121.0.0.0',
|
|
30
|
+
* os: 'macOS',
|
|
31
|
+
* osVersion: '10.15.7'
|
|
32
|
+
* };
|
|
33
|
+
*
|
|
34
|
+
* const headers = generator.generateHeaders(userAgent);
|
|
35
|
+
* console.log(headers['Accept-Language']); // "en-US,en;q=0.9"
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare class HttpHeadersGenerator {
|
|
39
|
+
private static instance;
|
|
40
|
+
private config;
|
|
41
|
+
private languageRotationIndex;
|
|
42
|
+
private constructor();
|
|
43
|
+
/**
|
|
44
|
+
* Get singleton instance of HttpHeadersGenerator
|
|
45
|
+
*
|
|
46
|
+
* @param config - Optional configuration to override defaults
|
|
47
|
+
* @returns Singleton instance of HttpHeadersGenerator
|
|
48
|
+
*/
|
|
49
|
+
static getInstance(config?: HeaderGeneratorConfig): HttpHeadersGenerator;
|
|
50
|
+
/**
|
|
51
|
+
* Generate complete HTTP headers for a given User-Agent
|
|
52
|
+
*
|
|
53
|
+
* Creates a complete set of HTTP headers that match the browser type
|
|
54
|
+
* and configuration. Headers are generated to appear authentic and
|
|
55
|
+
* reduce detection risk.
|
|
56
|
+
*
|
|
57
|
+
* @param userAgent - UserAgent object containing browser information
|
|
58
|
+
* @param customHeaders - Optional custom headers to override generated ones
|
|
59
|
+
* @returns Complete set of HTTP headers
|
|
60
|
+
*/
|
|
61
|
+
generateHeaders(userAgent: UserAgent, customHeaders?: Record<string, string>): Record<string, string>;
|
|
62
|
+
/**
|
|
63
|
+
* Get header template for browser type
|
|
64
|
+
*
|
|
65
|
+
* @param browserType - Type of browser
|
|
66
|
+
* @returns Header template for the browser
|
|
67
|
+
*/
|
|
68
|
+
private getHeaderTemplate;
|
|
69
|
+
/**
|
|
70
|
+
* Generate Accept-Language header with rotation
|
|
71
|
+
*
|
|
72
|
+
* @returns Accept-Language header value
|
|
73
|
+
*/
|
|
74
|
+
private generateLanguageHeader;
|
|
75
|
+
/**
|
|
76
|
+
* Generate Sec-Fetch-* headers for modern browsers
|
|
77
|
+
*
|
|
78
|
+
* @param browserType - Type of browser
|
|
79
|
+
* @param config - Optional Sec-Fetch configuration
|
|
80
|
+
* @returns Sec-Fetch headers object
|
|
81
|
+
*/
|
|
82
|
+
private generateSecFetchHeaders;
|
|
83
|
+
/**
|
|
84
|
+
* Generate Do Not Track header
|
|
85
|
+
*
|
|
86
|
+
* @returns DNT header value
|
|
87
|
+
*/
|
|
88
|
+
private generateDNTHeader;
|
|
89
|
+
/**
|
|
90
|
+
* Generate dynamic headers based on User-Agent details
|
|
91
|
+
*
|
|
92
|
+
* @param userAgent - UserAgent object
|
|
93
|
+
* @returns Dynamic headers object
|
|
94
|
+
*/
|
|
95
|
+
private generateDynamicHeaders;
|
|
96
|
+
/**
|
|
97
|
+
* Get custom template headers for browser type
|
|
98
|
+
*
|
|
99
|
+
* @param browserType - Type of browser
|
|
100
|
+
* @returns Custom headers from configuration
|
|
101
|
+
*/
|
|
102
|
+
private getCustomTemplateHeaders;
|
|
103
|
+
/**
|
|
104
|
+
* Check if browser supports Sec-Fetch headers
|
|
105
|
+
*
|
|
106
|
+
* @param browserType - Type of browser
|
|
107
|
+
* @returns Whether browser supports Sec-Fetch headers
|
|
108
|
+
*/
|
|
109
|
+
private supportsBrowserSecFetch;
|
|
110
|
+
/**
|
|
111
|
+
* Update configuration
|
|
112
|
+
*
|
|
113
|
+
* @param config - New configuration to merge
|
|
114
|
+
*/
|
|
115
|
+
updateConfig(config: Partial<HeaderGeneratorConfig>): void;
|
|
116
|
+
/**
|
|
117
|
+
* Get current configuration
|
|
118
|
+
*
|
|
119
|
+
* @returns Current configuration (read-only)
|
|
120
|
+
*/
|
|
121
|
+
getConfig(): Readonly<Required<HeaderGeneratorConfig>>;
|
|
122
|
+
/**
|
|
123
|
+
* Reset language rotation index
|
|
124
|
+
*/
|
|
125
|
+
resetLanguageRotation(): void;
|
|
126
|
+
/**
|
|
127
|
+
* Get current language rotation index
|
|
128
|
+
*
|
|
129
|
+
* @returns Current rotation index
|
|
130
|
+
*/
|
|
131
|
+
getLanguageRotationIndex(): number;
|
|
132
|
+
/**
|
|
133
|
+
* Validate generated headers for consistency
|
|
134
|
+
*
|
|
135
|
+
* @param headers - Headers to validate
|
|
136
|
+
* @param userAgent - Original UserAgent object
|
|
137
|
+
* @returns Validation result with any warnings
|
|
138
|
+
*/
|
|
139
|
+
validateHeaders(headers: Record<string, string>, userAgent: UserAgent): {
|
|
140
|
+
valid: boolean;
|
|
141
|
+
warnings: string[];
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Convenience function to create a UserAgent object from a User-Agent string
|
|
146
|
+
*
|
|
147
|
+
* @param userAgentString - Raw User-Agent string
|
|
148
|
+
* @returns UserAgent object with parsed information
|
|
149
|
+
*/
|
|
150
|
+
export declare function parseUserAgent(userAgentString: string): UserAgent;
|
|
151
|
+
//# sourceMappingURL=http-headers-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-headers-generator.d.ts","sourceRoot":"","sources":["../../src/utils/http-headers-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAGV,qBAAqB,EACrB,SAAS,EAEV,MAAM,qBAAqB,CAAC;AAwB7B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAuB;IAC9C,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,qBAAqB,CAAK;IAElC,OAAO;IAIP;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,MAAM,GAAE,qBAA0B,GAAG,oBAAoB;IAc5E;;;;;;;;;;OAUG;IACH,eAAe,CACb,SAAS,EAAE,SAAS,EACpB,aAAa,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACzC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAyDzB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAyB/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAIzB;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAkC9B;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;;;OAIG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI;IAI1D;;;;OAIG;IACH,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;IAItD;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAI7B;;;;OAIG;IACH,wBAAwB,IAAI,MAAM;IAIlC;;;;;;OAMG;IACH,eAAe,CACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,SAAS,EAAE,SAAS,GACnB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE;CAyB1C;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,CAiFjE"}
|
|
@@ -0,0 +1,407 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HTTP Headers Generator for browser compatibility and anti-detection
|
|
3
|
+
*
|
|
4
|
+
* Generates browser-specific HTTP headers to make requests appear more authentic
|
|
5
|
+
* and reduce the likelihood of being detected as automated requests.
|
|
6
|
+
*
|
|
7
|
+
* Features:
|
|
8
|
+
* - Browser-specific header templates (Chrome, Firefox, Safari, Edge)
|
|
9
|
+
* - Accept-Language rotation for geographic diversity
|
|
10
|
+
* - Sec-Fetch-* headers for modern browser simulation
|
|
11
|
+
* - Configurable privacy settings (DNT, etc.)
|
|
12
|
+
* - Custom header override support
|
|
13
|
+
* - High-performance singleton pattern
|
|
14
|
+
*/
|
|
15
|
+
import { BROWSER_HEADERS, SIMPLE_BROWSER_HEADERS, LANGUAGE_PREFERENCES, PLATFORM_VALUES, BROWSER_VERSIONS, DNT_VALUES, CACHE_CONTROL_VALUES, } from '../constants/browser-headers.js';
|
|
16
|
+
/**
|
|
17
|
+
* Default configuration for header generation
|
|
18
|
+
*/
|
|
19
|
+
const DEFAULT_CONFIG = {
|
|
20
|
+
enableSecFetch: true,
|
|
21
|
+
enableDNT: true,
|
|
22
|
+
languageRotation: true,
|
|
23
|
+
customTemplates: {},
|
|
24
|
+
defaultAcceptLanguage: 'en-US,en;q=0.9',
|
|
25
|
+
simpleMode: false,
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* HTTP Headers Generator
|
|
29
|
+
*
|
|
30
|
+
* Generates authentic browser headers based on User-Agent strings and configuration.
|
|
31
|
+
* Uses singleton pattern for optimal performance and memory usage.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* const generator = HttpHeadersGenerator.getInstance();
|
|
36
|
+
*
|
|
37
|
+
* const userAgent = {
|
|
38
|
+
* userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...',
|
|
39
|
+
* browserType: 'chrome',
|
|
40
|
+
* version: '121.0.0.0',
|
|
41
|
+
* os: 'macOS',
|
|
42
|
+
* osVersion: '10.15.7'
|
|
43
|
+
* };
|
|
44
|
+
*
|
|
45
|
+
* const headers = generator.generateHeaders(userAgent);
|
|
46
|
+
* console.log(headers['Accept-Language']); // "en-US,en;q=0.9"
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export class HttpHeadersGenerator {
|
|
50
|
+
static instance;
|
|
51
|
+
config;
|
|
52
|
+
languageRotationIndex = 0;
|
|
53
|
+
constructor(config = {}) {
|
|
54
|
+
this.config = { ...DEFAULT_CONFIG, ...config };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Get singleton instance of HttpHeadersGenerator
|
|
58
|
+
*
|
|
59
|
+
* @param config - Optional configuration to override defaults
|
|
60
|
+
* @returns Singleton instance of HttpHeadersGenerator
|
|
61
|
+
*/
|
|
62
|
+
static getInstance(config = {}) {
|
|
63
|
+
if (!HttpHeadersGenerator.instance) {
|
|
64
|
+
HttpHeadersGenerator.instance = new HttpHeadersGenerator(config);
|
|
65
|
+
}
|
|
66
|
+
else if (Object.keys(config).length > 0) {
|
|
67
|
+
// Update configuration if provided
|
|
68
|
+
HttpHeadersGenerator.instance.config = {
|
|
69
|
+
...HttpHeadersGenerator.instance.config,
|
|
70
|
+
...config,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
return HttpHeadersGenerator.instance;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Generate complete HTTP headers for a given User-Agent
|
|
77
|
+
*
|
|
78
|
+
* Creates a complete set of HTTP headers that match the browser type
|
|
79
|
+
* and configuration. Headers are generated to appear authentic and
|
|
80
|
+
* reduce detection risk.
|
|
81
|
+
*
|
|
82
|
+
* @param userAgent - UserAgent object containing browser information
|
|
83
|
+
* @param customHeaders - Optional custom headers to override generated ones
|
|
84
|
+
* @returns Complete set of HTTP headers
|
|
85
|
+
*/
|
|
86
|
+
generateHeaders(userAgent, customHeaders = {}) {
|
|
87
|
+
// Get base template for browser type
|
|
88
|
+
const baseTemplate = this.getHeaderTemplate(userAgent.browserType);
|
|
89
|
+
// Generate dynamic headers
|
|
90
|
+
const generatedHeaders = {
|
|
91
|
+
'User-Agent': userAgent.userAgent,
|
|
92
|
+
};
|
|
93
|
+
// Apply base template only if not disabled
|
|
94
|
+
Object.entries(baseTemplate).forEach(([key, value]) => {
|
|
95
|
+
// Skip Sec-Fetch headers if disabled
|
|
96
|
+
if (!this.config.enableSecFetch && key.startsWith('Sec-Fetch-')) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
// Skip DNT if disabled
|
|
100
|
+
if (!this.config.enableDNT && key === 'DNT') {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
generatedHeaders[key] = value;
|
|
104
|
+
});
|
|
105
|
+
// Apply language rotation if enabled, otherwise use default or browser-specific
|
|
106
|
+
if (this.config.languageRotation) {
|
|
107
|
+
generatedHeaders['Accept-Language'] = this.generateLanguageHeader();
|
|
108
|
+
}
|
|
109
|
+
else if (this.config.defaultAcceptLanguage &&
|
|
110
|
+
this.config.defaultAcceptLanguage !== 'en-US,en;q=0.9') {
|
|
111
|
+
generatedHeaders['Accept-Language'] = this.config.defaultAcceptLanguage;
|
|
112
|
+
}
|
|
113
|
+
// Apply Sec-Fetch headers if enabled and supported and not in simple mode
|
|
114
|
+
if (this.config.enableSecFetch && !this.config.simpleMode && this.supportsBrowserSecFetch(userAgent.browserType)) {
|
|
115
|
+
const secFetchHeaders = this.generateSecFetchHeaders(userAgent.browserType);
|
|
116
|
+
Object.assign(generatedHeaders, secFetchHeaders);
|
|
117
|
+
}
|
|
118
|
+
// Apply DNT randomization if enabled
|
|
119
|
+
if (this.config.enableDNT) {
|
|
120
|
+
generatedHeaders['DNT'] = this.generateDNTHeader();
|
|
121
|
+
}
|
|
122
|
+
// Apply browser-specific dynamic headers (not in simple mode)
|
|
123
|
+
if (!this.config.simpleMode) {
|
|
124
|
+
const dynamicHeaders = this.generateDynamicHeaders(userAgent);
|
|
125
|
+
Object.assign(generatedHeaders, dynamicHeaders);
|
|
126
|
+
}
|
|
127
|
+
// Apply custom templates from configuration
|
|
128
|
+
const customTemplateHeaders = this.getCustomTemplateHeaders(userAgent.browserType);
|
|
129
|
+
Object.assign(generatedHeaders, customTemplateHeaders);
|
|
130
|
+
// Apply user-provided custom headers (highest priority)
|
|
131
|
+
Object.assign(generatedHeaders, customHeaders);
|
|
132
|
+
return generatedHeaders;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Get header template for browser type
|
|
136
|
+
*
|
|
137
|
+
* @param browserType - Type of browser
|
|
138
|
+
* @returns Header template for the browser
|
|
139
|
+
*/
|
|
140
|
+
getHeaderTemplate(browserType) {
|
|
141
|
+
const templates = this.config.simpleMode ? SIMPLE_BROWSER_HEADERS : BROWSER_HEADERS;
|
|
142
|
+
return { ...templates[browserType] };
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Generate Accept-Language header with rotation
|
|
146
|
+
*
|
|
147
|
+
* @returns Accept-Language header value
|
|
148
|
+
*/
|
|
149
|
+
generateLanguageHeader() {
|
|
150
|
+
if (LANGUAGE_PREFERENCES.length === 0) {
|
|
151
|
+
return this.config.defaultAcceptLanguage;
|
|
152
|
+
}
|
|
153
|
+
const preferences = LANGUAGE_PREFERENCES[this.languageRotationIndex];
|
|
154
|
+
this.languageRotationIndex = (this.languageRotationIndex + 1) % LANGUAGE_PREFERENCES.length;
|
|
155
|
+
return preferences
|
|
156
|
+
.map(pref => pref.quality && pref.quality < 1.0
|
|
157
|
+
? `${pref.language};q=${pref.quality.toFixed(1)}`
|
|
158
|
+
: pref.language)
|
|
159
|
+
.join(',');
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Generate Sec-Fetch-* headers for modern browsers
|
|
163
|
+
*
|
|
164
|
+
* @param browserType - Type of browser
|
|
165
|
+
* @param config - Optional Sec-Fetch configuration
|
|
166
|
+
* @returns Sec-Fetch headers object
|
|
167
|
+
*/
|
|
168
|
+
generateSecFetchHeaders(_browserType, config = {}) {
|
|
169
|
+
const defaultConfig = {
|
|
170
|
+
dest: 'document',
|
|
171
|
+
mode: 'navigate',
|
|
172
|
+
site: 'none',
|
|
173
|
+
user: true,
|
|
174
|
+
...config,
|
|
175
|
+
};
|
|
176
|
+
const headers = {
|
|
177
|
+
'Sec-Fetch-Dest': defaultConfig.dest,
|
|
178
|
+
'Sec-Fetch-Mode': defaultConfig.mode,
|
|
179
|
+
'Sec-Fetch-Site': defaultConfig.site,
|
|
180
|
+
};
|
|
181
|
+
if (defaultConfig.user) {
|
|
182
|
+
headers['Sec-Fetch-User'] = '?1';
|
|
183
|
+
}
|
|
184
|
+
return headers;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Generate Do Not Track header
|
|
188
|
+
*
|
|
189
|
+
* @returns DNT header value
|
|
190
|
+
*/
|
|
191
|
+
generateDNTHeader() {
|
|
192
|
+
return DNT_VALUES[Math.floor(Math.random() * DNT_VALUES.length)];
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Generate dynamic headers based on User-Agent details
|
|
196
|
+
*
|
|
197
|
+
* @param userAgent - UserAgent object
|
|
198
|
+
* @returns Dynamic headers object
|
|
199
|
+
*/
|
|
200
|
+
generateDynamicHeaders(userAgent) {
|
|
201
|
+
const headers = {};
|
|
202
|
+
// Generate Sec-CH-UA headers for Chrome/Edge
|
|
203
|
+
if (userAgent.browserType === 'chrome' || userAgent.browserType === 'edge') {
|
|
204
|
+
const versions = BROWSER_VERSIONS[userAgent.browserType];
|
|
205
|
+
if (versions && versions.length > 0) {
|
|
206
|
+
headers['Sec-CH-UA'] = versions[Math.floor(Math.random() * versions.length)];
|
|
207
|
+
}
|
|
208
|
+
// Set mobile indicator
|
|
209
|
+
headers['Sec-CH-UA-Mobile'] = '?0';
|
|
210
|
+
// Set platform based on OS
|
|
211
|
+
if (userAgent.os.toLowerCase().includes('mac')) {
|
|
212
|
+
const platforms = PLATFORM_VALUES.macOS;
|
|
213
|
+
headers['Sec-CH-UA-Platform'] = platforms[Math.floor(Math.random() * platforms.length)];
|
|
214
|
+
}
|
|
215
|
+
else if (userAgent.os.toLowerCase().includes('windows')) {
|
|
216
|
+
headers['Sec-CH-UA-Platform'] = PLATFORM_VALUES.windows[0];
|
|
217
|
+
}
|
|
218
|
+
else if (userAgent.os.toLowerCase().includes('linux')) {
|
|
219
|
+
headers['Sec-CH-UA-Platform'] = PLATFORM_VALUES.linux[0];
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Randomize Cache-Control occasionally
|
|
223
|
+
if (Math.random() < 0.1) { // 10% chance to vary cache control
|
|
224
|
+
headers['Cache-Control'] = CACHE_CONTROL_VALUES[Math.floor(Math.random() * CACHE_CONTROL_VALUES.length)];
|
|
225
|
+
}
|
|
226
|
+
return headers;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Get custom template headers for browser type
|
|
230
|
+
*
|
|
231
|
+
* @param browserType - Type of browser
|
|
232
|
+
* @returns Custom headers from configuration
|
|
233
|
+
*/
|
|
234
|
+
getCustomTemplateHeaders(browserType) {
|
|
235
|
+
const customTemplate = this.config.customTemplates[browserType];
|
|
236
|
+
if (!customTemplate) {
|
|
237
|
+
return {};
|
|
238
|
+
}
|
|
239
|
+
// Filter out undefined values
|
|
240
|
+
const filtered = {};
|
|
241
|
+
Object.entries(customTemplate).forEach(([key, value]) => {
|
|
242
|
+
if (value !== undefined) {
|
|
243
|
+
filtered[key] = value;
|
|
244
|
+
}
|
|
245
|
+
});
|
|
246
|
+
return filtered;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Check if browser supports Sec-Fetch headers
|
|
250
|
+
*
|
|
251
|
+
* @param browserType - Type of browser
|
|
252
|
+
* @returns Whether browser supports Sec-Fetch headers
|
|
253
|
+
*/
|
|
254
|
+
supportsBrowserSecFetch(browserType) {
|
|
255
|
+
// Firefox doesn't support all Sec-Fetch headers, Safari has limited support
|
|
256
|
+
return browserType === 'chrome' || browserType === 'edge';
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Update configuration
|
|
260
|
+
*
|
|
261
|
+
* @param config - New configuration to merge
|
|
262
|
+
*/
|
|
263
|
+
updateConfig(config) {
|
|
264
|
+
this.config = { ...this.config, ...config };
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Get current configuration
|
|
268
|
+
*
|
|
269
|
+
* @returns Current configuration (read-only)
|
|
270
|
+
*/
|
|
271
|
+
getConfig() {
|
|
272
|
+
return { ...this.config };
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Reset language rotation index
|
|
276
|
+
*/
|
|
277
|
+
resetLanguageRotation() {
|
|
278
|
+
this.languageRotationIndex = 0;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Get current language rotation index
|
|
282
|
+
*
|
|
283
|
+
* @returns Current rotation index
|
|
284
|
+
*/
|
|
285
|
+
getLanguageRotationIndex() {
|
|
286
|
+
return this.languageRotationIndex;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Validate generated headers for consistency
|
|
290
|
+
*
|
|
291
|
+
* @param headers - Headers to validate
|
|
292
|
+
* @param userAgent - Original UserAgent object
|
|
293
|
+
* @returns Validation result with any warnings
|
|
294
|
+
*/
|
|
295
|
+
validateHeaders(headers, userAgent) {
|
|
296
|
+
const warnings = [];
|
|
297
|
+
// Check User-Agent consistency
|
|
298
|
+
if (headers['User-Agent'] !== userAgent.userAgent) {
|
|
299
|
+
warnings.push('User-Agent header does not match provided UserAgent object');
|
|
300
|
+
}
|
|
301
|
+
// Check Accept-Language format
|
|
302
|
+
const acceptLanguage = headers['Accept-Language'];
|
|
303
|
+
if (acceptLanguage && !/^[\w-]+(;q=\d\.\d)?(,[\w-]+(;q=\d\.\d)?)*$/.test(acceptLanguage)) {
|
|
304
|
+
warnings.push('Accept-Language header format may be invalid');
|
|
305
|
+
}
|
|
306
|
+
// Check Sec-Fetch headers consistency
|
|
307
|
+
const hasSecFetch = Object.keys(headers).some(key => key.startsWith('Sec-Fetch-'));
|
|
308
|
+
if (hasSecFetch && !this.supportsBrowserSecFetch(userAgent.browserType)) {
|
|
309
|
+
warnings.push(`Sec-Fetch headers present for ${userAgent.browserType} which has limited support`);
|
|
310
|
+
}
|
|
311
|
+
return {
|
|
312
|
+
valid: warnings.length === 0,
|
|
313
|
+
warnings,
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Convenience function to create a UserAgent object from a User-Agent string
|
|
319
|
+
*
|
|
320
|
+
* @param userAgentString - Raw User-Agent string
|
|
321
|
+
* @returns UserAgent object with parsed information
|
|
322
|
+
*/
|
|
323
|
+
export function parseUserAgent(userAgentString) {
|
|
324
|
+
let browserType = 'chrome'; // default
|
|
325
|
+
let version = 'unknown';
|
|
326
|
+
let os = 'unknown';
|
|
327
|
+
let osVersion = 'unknown';
|
|
328
|
+
let architecture;
|
|
329
|
+
// Safari detection
|
|
330
|
+
if (userAgentString.includes('Safari/') && userAgentString.includes('Version/')) {
|
|
331
|
+
browserType = 'safari';
|
|
332
|
+
const versionMatch = userAgentString.match(/Version\/([\d.]+)/);
|
|
333
|
+
if (versionMatch) {
|
|
334
|
+
version = versionMatch[1];
|
|
335
|
+
}
|
|
336
|
+
// Extract macOS architecture
|
|
337
|
+
if (userAgentString.includes('Intel Mac OS X')) {
|
|
338
|
+
architecture = 'Intel';
|
|
339
|
+
}
|
|
340
|
+
else if (userAgentString.includes('arm64 Mac OS X')) {
|
|
341
|
+
architecture = 'Apple Silicon';
|
|
342
|
+
}
|
|
343
|
+
// Extract macOS version
|
|
344
|
+
const macOSMatch = userAgentString.match(/Mac OS X (\d+)_(\d+)(?:_(\d+))?/);
|
|
345
|
+
if (macOSMatch) {
|
|
346
|
+
os = 'macOS';
|
|
347
|
+
osVersion = macOSMatch[3] ? `${macOSMatch[1]}.${macOSMatch[2]}.${macOSMatch[3]}` : `${macOSMatch[1]}.${macOSMatch[2]}`;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
else if (userAgentString.includes('Chrome/') && !userAgentString.includes('Edg/')) {
|
|
351
|
+
browserType = 'chrome';
|
|
352
|
+
const chromeMatch = userAgentString.match(/Chrome\/([\d.]+)/);
|
|
353
|
+
if (chromeMatch) {
|
|
354
|
+
version = chromeMatch[1];
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
else if (userAgentString.includes('Edg/')) {
|
|
358
|
+
browserType = 'edge';
|
|
359
|
+
const edgeMatch = userAgentString.match(/Edg\/([\d.]+)/);
|
|
360
|
+
if (edgeMatch) {
|
|
361
|
+
version = edgeMatch[1];
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
else if (userAgentString.includes('Firefox/')) {
|
|
365
|
+
browserType = 'firefox';
|
|
366
|
+
const firefoxMatch = userAgentString.match(/Firefox\/([\d.]+)/);
|
|
367
|
+
if (firefoxMatch) {
|
|
368
|
+
version = firefoxMatch[1];
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
// Extract OS information for non-Safari browsers
|
|
372
|
+
if (browserType !== 'safari') {
|
|
373
|
+
if (userAgentString.includes('Windows NT')) {
|
|
374
|
+
os = 'Windows';
|
|
375
|
+
const winMatch = userAgentString.match(/Windows NT ([\d.]+)/);
|
|
376
|
+
if (winMatch) {
|
|
377
|
+
osVersion = winMatch[1];
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
else if (userAgentString.includes('Mac OS X')) {
|
|
381
|
+
os = 'macOS';
|
|
382
|
+
const macMatch = userAgentString.match(/Mac OS X ([\d_.]+)/);
|
|
383
|
+
if (macMatch) {
|
|
384
|
+
osVersion = macMatch[1].replace(/_/g, '.');
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
else if (userAgentString.includes('Intel Mac OS X')) {
|
|
388
|
+
os = 'macOS';
|
|
389
|
+
const macMatch = userAgentString.match(/Intel Mac OS X ([\d.]+)/);
|
|
390
|
+
if (macMatch) {
|
|
391
|
+
osVersion = macMatch[1];
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
else if (userAgentString.includes('Linux')) {
|
|
395
|
+
os = 'Linux';
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
return {
|
|
399
|
+
userAgent: userAgentString,
|
|
400
|
+
browserType,
|
|
401
|
+
version,
|
|
402
|
+
os,
|
|
403
|
+
osVersion,
|
|
404
|
+
architecture,
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
//# sourceMappingURL=http-headers-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-headers-generator.js","sourceRoot":"","sources":["../../src/utils/http-headers-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC;;GAEG;AACH,MAAM,cAAc,GAAoC;IACtD,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,IAAI;IACf,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,EAAE;IACnB,qBAAqB,EAAE,gBAAgB;IACvC,UAAU,EAAE,KAAK;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,QAAQ,CAAuB;IACtC,MAAM,CAAkC;IACxC,qBAAqB,GAAG,CAAC,CAAC;IAElC,YAAoB,SAAgC,EAAE;QACpD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,SAAgC,EAAE;QACnD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;YACnC,oBAAoB,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,mCAAmC;YACnC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,GAAG;gBACrC,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM;gBACvC,GAAG,MAAM;aACV,CAAC;QACJ,CAAC;QAED,OAAO,oBAAoB,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED;;;;;;;;;;OAUG;IACH,eAAe,CACb,SAAoB,EACpB,gBAAwC,EAAE;QAE1C,qCAAqC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEnE,2BAA2B;QAC3B,MAAM,gBAAgB,GAA2B;YAC/C,YAAY,EAAE,SAAS,CAAC,SAAS;SAClC,CAAC;QAEF,2CAA2C;QAC3C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACpD,qCAAqC;YACrC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;gBAC5C,OAAO;YACT,CAAC;YACD,gBAAgB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,gFAAgF;QAChF,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACjC,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACtE,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,qBAAqB;YACjC,IAAI,CAAC,MAAM,CAAC,qBAAqB,KAAK,gBAAgB,EAAE,CAAC;YAClE,gBAAgB,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAC1E,CAAC;QAED,0EAA0E;QAC1E,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACjH,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAC5E,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,eAAe,CAAC,CAAC;QACnD,CAAC;QAED,qCAAqC;QACrC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,gBAAgB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrD,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,cAAc,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;QAClD,CAAC;QAED,4CAA4C;QAC5C,MAAM,qBAAqB,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACnF,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QAEvD,wDAAwD;QACxD,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAE/C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACK,iBAAiB,CAAC,WAAwB;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,CAAC;QACpF,OAAO,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACK,sBAAsB;QAC5B,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC;QAC3C,CAAC;QAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrE,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC;QAE5F,OAAO,WAAW;aACf,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,GAAG,GAAG;YAC7C,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACjD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;aACjB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACK,uBAAuB,CAC7B,YAAyB,EACzB,SAAkC,EAAE;QAEpC,MAAM,aAAa,GAAmB;YACpC,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI;YACV,GAAG,MAAM;SACV,CAAC;QAEF,MAAM,OAAO,GAA2B;YACtC,gBAAgB,EAAE,aAAa,CAAC,IAAI;YACpC,gBAAgB,EAAE,aAAa,CAAC,IAAI;YACpC,gBAAgB,EAAE,aAAa,CAAC,IAAI;SACrC,CAAC;QAEF,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACK,iBAAiB;QACvB,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAAC,SAAoB;QACjD,MAAM,OAAO,GAA2B,EAAE,CAAC;QAE3C,6CAA6C;QAC7C,IAAI,SAAS,CAAC,WAAW,KAAK,QAAQ,IAAI,SAAS,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YAC3E,MAAM,QAAQ,GAAG,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACzD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,OAAO,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/E,CAAC;YAED,uBAAuB;YACvB,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC;YAEnC,2BAA2B;YAC3B,IAAI,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;gBACxC,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1F,CAAC;iBAAM,IAAI,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,oBAAoB,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,IAAI,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxD,OAAO,CAAC,oBAAoB,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,mCAAmC;YAC5D,OAAO,CAAC,eAAe,CAAC,GAAG,oBAAoB,CAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAAC,WAAwB;QACvD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,8BAA8B;QAC9B,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACtD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACK,uBAAuB,CAAC,WAAwB;QACtD,4EAA4E;QAC5E,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,MAAM,CAAC;IAC5D,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,MAAsC;QACjD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,IAAI,CAAC,qBAAqB,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,wBAAwB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CACb,OAA+B,EAC/B,SAAoB;QAEpB,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,+BAA+B;QAC/B,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC,SAAS,EAAE,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;QAC9E,CAAC;QAED,+BAA+B;QAC/B,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAClD,IAAI,cAAc,IAAI,CAAC,4CAA4C,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACzF,QAAQ,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAChE,CAAC;QAED,sCAAsC;QACtC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QACnF,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;YACxE,QAAQ,CAAC,IAAI,CAAC,iCAAiC,SAAS,CAAC,WAAW,4BAA4B,CAAC,CAAC;QACpG,CAAC;QAED,OAAO;YACL,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;YAC5B,QAAQ;SACT,CAAC;IACJ,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,eAAuB;IACpD,IAAI,WAAW,GAAgB,QAAQ,CAAC,CAAC,UAAU;IACnD,IAAI,OAAO,GAAG,SAAS,CAAC;IACxB,IAAI,EAAE,GAAG,SAAS,CAAC;IACnB,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,IAAI,YAAgC,CAAC;IAErC,mBAAmB;IACnB,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAChF,WAAW,GAAG,QAAQ,CAAC;QACvB,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAChE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,6BAA6B;QAC7B,IAAI,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/C,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC;aAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtD,YAAY,GAAG,eAAe,CAAC;QACjC,CAAC;QAED,wBAAwB;QACxB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC5E,IAAI,UAAU,EAAE,CAAC;YACf,EAAE,GAAG,OAAO,CAAC;YACb,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACzH,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpF,WAAW,GAAG,QAAQ,CAAC;QACvB,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5C,WAAW,GAAG,MAAM,CAAC;QACrB,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACzD,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;SAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,WAAW,GAAG,SAAS,CAAC;QACxB,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAChE,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,EAAE,GAAG,SAAS,CAAC;YACf,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC9D,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,EAAE,GAAG,OAAO,CAAC;YACb,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YAC7D,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtD,EAAE,GAAG,OAAO,CAAC;YACb,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAClE,IAAI,QAAQ,EAAE,CAAC;gBACb,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;aAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,EAAE,GAAG,OAAO,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,eAAe;QAC1B,WAAW;QACX,OAAO;QACP,EAAE;QACF,SAAS;QACT,YAAY;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Simple logger utility for consistent logging across the application
|
|
3
|
+
*/
|
|
4
|
+
export declare enum LogLevel {
|
|
5
|
+
DEBUG = "debug",
|
|
6
|
+
INFO = "info",
|
|
7
|
+
WARN = "warn",
|
|
8
|
+
ERROR = "error"
|
|
9
|
+
}
|
|
10
|
+
declare class Logger {
|
|
11
|
+
private enabled;
|
|
12
|
+
private level;
|
|
13
|
+
/**
|
|
14
|
+
* Log debug message
|
|
15
|
+
*/
|
|
16
|
+
debug(message: string, ...args: any[]): void;
|
|
17
|
+
/**
|
|
18
|
+
* Log info message
|
|
19
|
+
*/
|
|
20
|
+
info(message: string, ...args: any[]): void;
|
|
21
|
+
/**
|
|
22
|
+
* Log warning message
|
|
23
|
+
*/
|
|
24
|
+
warn(message: string, ...args: any[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* Log error message
|
|
27
|
+
*/
|
|
28
|
+
error(message: string, error?: unknown): void;
|
|
29
|
+
/**
|
|
30
|
+
* Check if should log based on level
|
|
31
|
+
*/
|
|
32
|
+
private shouldLog;
|
|
33
|
+
/**
|
|
34
|
+
* Set log level
|
|
35
|
+
*/
|
|
36
|
+
setLevel(level: LogLevel): void;
|
|
37
|
+
/**
|
|
38
|
+
* Enable/disable logging
|
|
39
|
+
*/
|
|
40
|
+
setEnabled(enabled: boolean): void;
|
|
41
|
+
}
|
|
42
|
+
export declare const logger: Logger;
|
|
43
|
+
export {};
|
|
44
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,KAAK,UAAU;CAChB;AAED,cAAM,MAAM;IACV,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,KAAK,CAA2B;IAExC;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI;IAM3C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAS7C;;OAEG;IACH,OAAO,CAAC,SAAS;IAOjB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAGnC;AAGD,eAAO,MAAM,MAAM,QAAe,CAAC"}
|