@robinmordasiewicz/f5xc-auth 1.2.0 → 1.3.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/dist/auth/credential-manager.d.ts +4 -0
- package/dist/auth/credential-manager.d.ts.map +1 -1
- package/dist/auth/credential-manager.js +144 -29
- package/dist/auth/credential-manager.js.map +1 -1
- package/dist/auth/http-client.d.ts +107 -1
- package/dist/auth/http-client.d.ts.map +1 -1
- package/dist/auth/http-client.js +255 -17
- package/dist/auth/http-client.js.map +1 -1
- package/dist/profile/manager.d.ts +13 -0
- package/dist/profile/manager.d.ts.map +1 -1
- package/dist/profile/manager.js +64 -1
- package/dist/profile/manager.js.map +1 -1
- package/dist/profile/types.d.ts +15 -0
- package/dist/profile/types.d.ts.map +1 -1
- package/dist/utils/cache.d.ts +96 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +134 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/errors.d.ts +0 -5
- package/dist/utils/errors.d.ts.map +1 -1
- package/dist/utils/errors.js +2 -1
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/path-security.d.ts +92 -0
- package/dist/utils/path-security.d.ts.map +1 -0
- package/dist/utils/path-security.js +167 -0
- package/dist/utils/path-security.js.map +1 -0
- package/package.json +1 -1
|
@@ -116,6 +116,10 @@ export declare class CredentialManager {
|
|
|
116
116
|
* Build credentials object from profile data
|
|
117
117
|
*/
|
|
118
118
|
private buildCredentials;
|
|
119
|
+
/**
|
|
120
|
+
* Check credential expiration and log warnings
|
|
121
|
+
*/
|
|
122
|
+
private checkCredentialExpiration;
|
|
119
123
|
/**
|
|
120
124
|
* Load credentials with priority order:
|
|
121
125
|
* 1. Environment variables (highest)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-manager.d.ts","sourceRoot":"","sources":["../../src/auth/credential-manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"credential-manager.d.ts","sourceRoot":"","sources":["../../src/auth/credential-manager.ts"],"names":[],"mappings":"AA2BA;;GAEG;AACH,oBAAY,QAAQ;IAClB,kDAAkD;IAClD,IAAI,SAAS;IACb,+BAA+B;IAC/B,KAAK,UAAU;IACf,4CAA4C;IAC5C,WAAW,gBAAgB;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;CAUhB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,yBAAyB;IACzB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qCAAqC;IACrC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,qCAAqC;IACrC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,wBAAwB;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,sEAAsE;IACtE,WAAW,EAAE,OAAO,CAAC;IACrB,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA2CrD;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAG/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,WAAW,CAAS;;IAiB5B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;OAEG;YACW,eAAe;IAmB7B;;OAEG;YACW,gBAAgB;IA+I9B;;OAEG;YACW,yBAAyB;IAuEvC;;;;;OAKG;YACW,eAAe;IA4C7B;;;OAGG;IACH,gBAAgB,IAAI,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,WAAW,IAAI,QAAQ;IAIvB;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACH,iBAAiB,IAAI,MAAM,GAAG,IAAI;IAIlC;;OAEG;IACH,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB;;OAEG;IACH,MAAM,IAAI,MAAM,GAAG,IAAI;IAIvB;;OAEG;IACH,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,cAAc,IAAI,QAAQ,CAAC,WAAW,CAAC;IAIvC;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAK9B"}
|
|
@@ -13,9 +13,10 @@
|
|
|
13
13
|
* @since 1.0.0
|
|
14
14
|
* @packageDocumentation
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
16
|
+
import { readFile } from "fs/promises";
|
|
17
17
|
import { logger } from "../utils/logging.js";
|
|
18
18
|
import { getProfileManager } from "../profile/index.js";
|
|
19
|
+
import { validateFilePath, validateFilePaths, sanitizePathForLog, PathValidationError, } from "../utils/path-security.js";
|
|
19
20
|
/**
|
|
20
21
|
* Authentication modes supported by the server
|
|
21
22
|
*/
|
|
@@ -177,6 +178,8 @@ export class CredentialManager {
|
|
|
177
178
|
return;
|
|
178
179
|
this.credentials = await this.loadCredentials();
|
|
179
180
|
this.initialized = true;
|
|
181
|
+
// Check credential expiration after loading
|
|
182
|
+
await this.checkCredentialExpiration();
|
|
180
183
|
}
|
|
181
184
|
/**
|
|
182
185
|
* Load credentials from environment variables
|
|
@@ -227,7 +230,7 @@ export class CredentialManager {
|
|
|
227
230
|
/**
|
|
228
231
|
* Build credentials object from profile data
|
|
229
232
|
*/
|
|
230
|
-
buildCredentials(profile) {
|
|
233
|
+
async buildCredentials(profile) {
|
|
231
234
|
const apiUrl = profile.apiUrl;
|
|
232
235
|
// Determine authentication mode
|
|
233
236
|
let mode = AuthMode.NONE;
|
|
@@ -241,12 +244,19 @@ export class CredentialManager {
|
|
|
241
244
|
// Load CA bundle if specified
|
|
242
245
|
if (profile.caBundle) {
|
|
243
246
|
try {
|
|
244
|
-
|
|
245
|
-
|
|
247
|
+
const validatedPath = validateFilePath(profile.caBundle);
|
|
248
|
+
caBundle = await readFile(validatedPath);
|
|
249
|
+
logger.info("Loaded CA bundle", {
|
|
250
|
+
file: sanitizePathForLog(validatedPath, true),
|
|
251
|
+
});
|
|
246
252
|
}
|
|
247
253
|
catch (error) {
|
|
254
|
+
if (error instanceof PathValidationError) {
|
|
255
|
+
logger.error("Invalid CA bundle path", { error: error.message });
|
|
256
|
+
throw error;
|
|
257
|
+
}
|
|
248
258
|
logger.warn("Failed to load CA bundle", {
|
|
249
|
-
file: profile.caBundle,
|
|
259
|
+
file: sanitizePathForLog(profile.caBundle, true),
|
|
250
260
|
error: error instanceof Error ? error.message : String(error),
|
|
251
261
|
});
|
|
252
262
|
}
|
|
@@ -261,21 +271,39 @@ export class CredentialManager {
|
|
|
261
271
|
// P12 certificate authentication
|
|
262
272
|
mode = AuthMode.CERTIFICATE;
|
|
263
273
|
try {
|
|
264
|
-
|
|
265
|
-
|
|
274
|
+
const validatedPath = validateFilePath(profile.p12Bundle);
|
|
275
|
+
p12Certificate = await readFile(validatedPath);
|
|
276
|
+
logger.info("Loaded P12 certificate", {
|
|
277
|
+
file: sanitizePathForLog(validatedPath, true),
|
|
278
|
+
});
|
|
266
279
|
}
|
|
267
280
|
catch (error) {
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
281
|
+
if (error instanceof PathValidationError) {
|
|
282
|
+
logger.error("Invalid P12 certificate path", {
|
|
283
|
+
error: error.message,
|
|
284
|
+
});
|
|
285
|
+
// Fall back to token auth if path validation fails
|
|
286
|
+
if (profile.apiToken) {
|
|
287
|
+
mode = AuthMode.TOKEN;
|
|
288
|
+
logger.info("Falling back to token authentication");
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
mode = AuthMode.NONE;
|
|
292
|
+
}
|
|
276
293
|
}
|
|
277
294
|
else {
|
|
278
|
-
|
|
295
|
+
logger.error("Failed to load P12 certificate", {
|
|
296
|
+
file: sanitizePathForLog(profile.p12Bundle, true),
|
|
297
|
+
error: error instanceof Error ? error.message : String(error),
|
|
298
|
+
});
|
|
299
|
+
// Fall back to token auth if certificate load fails
|
|
300
|
+
if (profile.apiToken) {
|
|
301
|
+
mode = AuthMode.TOKEN;
|
|
302
|
+
logger.info("Falling back to token authentication");
|
|
303
|
+
}
|
|
304
|
+
else {
|
|
305
|
+
mode = AuthMode.NONE;
|
|
306
|
+
}
|
|
279
307
|
}
|
|
280
308
|
}
|
|
281
309
|
}
|
|
@@ -283,23 +311,46 @@ export class CredentialManager {
|
|
|
283
311
|
// Certificate + key authentication
|
|
284
312
|
mode = AuthMode.CERTIFICATE;
|
|
285
313
|
try {
|
|
286
|
-
|
|
287
|
-
|
|
314
|
+
// Validate both paths before reading
|
|
315
|
+
const [validatedCert, validatedKey] = validateFilePaths([
|
|
316
|
+
profile.cert,
|
|
317
|
+
profile.key,
|
|
318
|
+
]);
|
|
319
|
+
// Read both files in parallel for better performance
|
|
320
|
+
[cert, key] = await Promise.all([
|
|
321
|
+
readFile(validatedCert, "utf-8"),
|
|
322
|
+
readFile(validatedKey, "utf-8"),
|
|
323
|
+
]);
|
|
288
324
|
logger.info("Loaded certificate and key", {
|
|
289
|
-
cert:
|
|
290
|
-
key:
|
|
325
|
+
cert: sanitizePathForLog(validatedCert),
|
|
326
|
+
key: sanitizePathForLog(validatedKey),
|
|
291
327
|
});
|
|
292
328
|
}
|
|
293
329
|
catch (error) {
|
|
294
|
-
|
|
295
|
-
error
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
330
|
+
if (error instanceof PathValidationError) {
|
|
331
|
+
logger.error("Invalid certificate path", { error: error.message });
|
|
332
|
+
// Fall back to token auth if path validation fails
|
|
333
|
+
if (profile.apiToken) {
|
|
334
|
+
mode = AuthMode.TOKEN;
|
|
335
|
+
logger.info("Falling back to token authentication");
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
mode = AuthMode.NONE;
|
|
339
|
+
}
|
|
300
340
|
}
|
|
301
341
|
else {
|
|
302
|
-
|
|
342
|
+
logger.error("Failed to load certificate/key", {
|
|
343
|
+
cert: sanitizePathForLog(profile.cert),
|
|
344
|
+
key: sanitizePathForLog(profile.key),
|
|
345
|
+
error: error instanceof Error ? error.message : String(error),
|
|
346
|
+
});
|
|
347
|
+
if (profile.apiToken) {
|
|
348
|
+
mode = AuthMode.TOKEN;
|
|
349
|
+
logger.info("Falling back to token authentication");
|
|
350
|
+
}
|
|
351
|
+
else {
|
|
352
|
+
mode = AuthMode.NONE;
|
|
353
|
+
}
|
|
303
354
|
}
|
|
304
355
|
}
|
|
305
356
|
}
|
|
@@ -319,6 +370,70 @@ export class CredentialManager {
|
|
|
319
370
|
caBundle,
|
|
320
371
|
};
|
|
321
372
|
}
|
|
373
|
+
/**
|
|
374
|
+
* Check credential expiration and log warnings
|
|
375
|
+
*/
|
|
376
|
+
async checkCredentialExpiration() {
|
|
377
|
+
// Skip if credentials are from environment variables
|
|
378
|
+
if (!this.activeProfileName || this.activeProfileName === "__env__") {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
try {
|
|
382
|
+
const profileManager = getProfileManager();
|
|
383
|
+
const profile = await profileManager.get(this.activeProfileName);
|
|
384
|
+
if (!profile?.metadata) {
|
|
385
|
+
return;
|
|
386
|
+
}
|
|
387
|
+
const { expiresAt, lastRotated, rotateAfterDays } = profile.metadata;
|
|
388
|
+
const now = new Date();
|
|
389
|
+
// Check explicit expiration
|
|
390
|
+
if (expiresAt) {
|
|
391
|
+
const expirationDate = new Date(expiresAt);
|
|
392
|
+
if (expirationDate < now) {
|
|
393
|
+
logger.warn("Credentials have expired", {
|
|
394
|
+
profile: profile.name,
|
|
395
|
+
expiresAt,
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
// Calculate days until expiration
|
|
400
|
+
const daysUntilExpiration = Math.ceil((expirationDate.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));
|
|
401
|
+
if (daysUntilExpiration <= 7) {
|
|
402
|
+
logger.info("Credentials expiring soon", {
|
|
403
|
+
profile: profile.name,
|
|
404
|
+
daysRemaining: daysUntilExpiration,
|
|
405
|
+
expiresAt,
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
// Check rotation schedule
|
|
411
|
+
if (lastRotated && rotateAfterDays) {
|
|
412
|
+
const rotationDate = new Date(lastRotated);
|
|
413
|
+
rotationDate.setDate(rotationDate.getDate() + rotateAfterDays);
|
|
414
|
+
const daysUntilRotation = Math.ceil((rotationDate.getTime() - now.getTime()) / (1000 * 60 * 60 * 24));
|
|
415
|
+
if (daysUntilRotation <= 0) {
|
|
416
|
+
logger.warn("Credentials should be rotated", {
|
|
417
|
+
profile: profile.name,
|
|
418
|
+
lastRotated,
|
|
419
|
+
rotateAfterDays,
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
else if (daysUntilRotation <= 7) {
|
|
423
|
+
logger.info("Credentials rotation approaching", {
|
|
424
|
+
profile: profile.name,
|
|
425
|
+
daysUntilRotation,
|
|
426
|
+
lastRotated,
|
|
427
|
+
});
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
catch (error) {
|
|
432
|
+
logger.debug("Failed to check credential expiration", {
|
|
433
|
+
error: error instanceof Error ? error.message : String(error),
|
|
434
|
+
});
|
|
435
|
+
}
|
|
436
|
+
}
|
|
322
437
|
/**
|
|
323
438
|
* Load credentials with priority order:
|
|
324
439
|
* 1. Environment variables (highest)
|
|
@@ -329,7 +444,7 @@ export class CredentialManager {
|
|
|
329
444
|
// Step 1: Check environment variables first (highest priority)
|
|
330
445
|
const envCreds = this.loadFromEnvironment();
|
|
331
446
|
if (envCreds.apiUrl && envCreds.hasAuth) {
|
|
332
|
-
const credentials = this.buildCredentials(envCreds);
|
|
447
|
+
const credentials = await this.buildCredentials(envCreds);
|
|
333
448
|
const tenant = credentials.apiUrl ? extractTenantFromUrl(credentials.apiUrl) : null;
|
|
334
449
|
logger.info("Credentials loaded from environment variables", {
|
|
335
450
|
mode: credentials.mode,
|
|
@@ -340,7 +455,7 @@ export class CredentialManager {
|
|
|
340
455
|
// Step 2: Try active profile from ~/.config/f5xc/
|
|
341
456
|
const profile = await this.loadFromProfile();
|
|
342
457
|
if (profile) {
|
|
343
|
-
const credentials = this.buildCredentials(profile);
|
|
458
|
+
const credentials = await this.buildCredentials(profile);
|
|
344
459
|
if (credentials.mode !== AuthMode.NONE) {
|
|
345
460
|
const tenant = credentials.apiUrl ? extractTenantFromUrl(credentials.apiUrl) : null;
|
|
346
461
|
logger.info("Credentials loaded from profile", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential-manager.js","sourceRoot":"","sources":["../../src/auth/credential-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"credential-manager.js","sourceRoot":"","sources":["../../src/auth/credential-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,24 @@ export interface HttpClientConfig {
|
|
|
16
16
|
headers?: Record<string, string>;
|
|
17
17
|
/** Enable request/response logging */
|
|
18
18
|
debug?: boolean;
|
|
19
|
+
/** Rate limiting configuration */
|
|
20
|
+
rateLimit?: {
|
|
21
|
+
/** Maximum requests per time window */
|
|
22
|
+
maxRequests?: number;
|
|
23
|
+
/** Time window in milliseconds */
|
|
24
|
+
perMilliseconds?: number;
|
|
25
|
+
/** Maximum concurrent requests */
|
|
26
|
+
maxConcurrent?: number;
|
|
27
|
+
};
|
|
28
|
+
/** Retry configuration */
|
|
29
|
+
retry?: {
|
|
30
|
+
/** Number of retry attempts */
|
|
31
|
+
retries?: number;
|
|
32
|
+
/** Retry delay strategy: 'exponential' or 'linear' */
|
|
33
|
+
retryDelay?: "exponential" | "linear";
|
|
34
|
+
/** HTTP status codes to retry on */
|
|
35
|
+
retryOn?: number[];
|
|
36
|
+
};
|
|
19
37
|
}
|
|
20
38
|
/**
|
|
21
39
|
* API response wrapper with metadata
|
|
@@ -40,6 +58,82 @@ export declare class HttpClient {
|
|
|
40
58
|
private client;
|
|
41
59
|
private credentialManager;
|
|
42
60
|
private config;
|
|
61
|
+
private rateLimiter;
|
|
62
|
+
private concurrentLimiter;
|
|
63
|
+
/**
|
|
64
|
+
* Creates an HTTP client for F5 Distributed Cloud API requests.
|
|
65
|
+
*
|
|
66
|
+
* The client automatically:
|
|
67
|
+
* - Injects authentication credentials from the credential manager
|
|
68
|
+
* - Adds required headers (User-Agent, Content-Type)
|
|
69
|
+
* - Configures SSL/TLS settings (including custom CA and insecure mode)
|
|
70
|
+
* - Applies rate limiting (10 req/sec, 5 concurrent by default)
|
|
71
|
+
* - Implements retry logic with exponential backoff (3 retries)
|
|
72
|
+
* - Transforms responses to typed ApiResponse objects
|
|
73
|
+
* - Handles common error scenarios with actionable guidance
|
|
74
|
+
*
|
|
75
|
+
* @param credentialManager - Manages authentication credentials and profiles.
|
|
76
|
+
* Must be initialized before creating the HTTP client.
|
|
77
|
+
* @param config - Optional HTTP client configuration
|
|
78
|
+
* @param config.timeout - Request timeout in milliseconds (default: 30000)
|
|
79
|
+
* @param config.headers - Additional headers to include in all requests
|
|
80
|
+
* @param config.debug - Enable request/response logging (default: false)
|
|
81
|
+
* @param config.rateLimit - Rate limiting configuration
|
|
82
|
+
* @param config.rateLimit.maxRequests - Maximum requests per time window (default: 10)
|
|
83
|
+
* @param config.rateLimit.perMilliseconds - Time window in milliseconds (default: 1000)
|
|
84
|
+
* @param config.rateLimit.maxConcurrent - Maximum concurrent requests (default: 5)
|
|
85
|
+
* @param config.retry - Retry configuration
|
|
86
|
+
* @param config.retry.retries - Number of retry attempts (default: 3)
|
|
87
|
+
* @param config.retry.retryDelay - Retry delay strategy: 'exponential' or 'linear' (default: 'exponential')
|
|
88
|
+
* @param config.retry.retryOn - HTTP status codes to retry on (default: [429, 500, 502, 503, 504])
|
|
89
|
+
*
|
|
90
|
+
* @example Basic usage
|
|
91
|
+
* ```typescript
|
|
92
|
+
* const cm = new CredentialManager();
|
|
93
|
+
* await cm.initialize();
|
|
94
|
+
*
|
|
95
|
+
* const client = new HttpClient(cm);
|
|
96
|
+
* const response = await client.get("/api/config/namespaces");
|
|
97
|
+
* console.log(response.data);
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @example Custom configuration
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const client = new HttpClient(cm, {
|
|
103
|
+
* timeout: 60000,
|
|
104
|
+
* headers: { "X-Custom-Header": "value" },
|
|
105
|
+
* rateLimit: {
|
|
106
|
+
* maxRequests: 20,
|
|
107
|
+
* perMilliseconds: 1000,
|
|
108
|
+
* maxConcurrent: 10
|
|
109
|
+
* }
|
|
110
|
+
* });
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* @example With request options
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const response = await client.get<Namespace[]>(
|
|
116
|
+
* "/api/config/namespaces/system/virtual-hosts",
|
|
117
|
+
* { params: { filter: "active" } }
|
|
118
|
+
* );
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
|
+
* @example Custom retry configuration
|
|
122
|
+
* ```typescript
|
|
123
|
+
* const client = new HttpClient(cm, {
|
|
124
|
+
* retry: {
|
|
125
|
+
* retries: 5,
|
|
126
|
+
* retryDelay: "linear",
|
|
127
|
+
* retryOn: [429, 500, 503]
|
|
128
|
+
* }
|
|
129
|
+
* });
|
|
130
|
+
* ```
|
|
131
|
+
*
|
|
132
|
+
* @throws {AuthenticationError} If credentials are invalid or missing when making requests
|
|
133
|
+
* @throws {F5XCApiError} For API request failures (4xx, 5xx status codes)
|
|
134
|
+
* @throws {SSLCertificateError} For SSL/TLS certificate validation failures
|
|
135
|
+
* @throws {NetworkError} For network connectivity issues
|
|
136
|
+
*/
|
|
43
137
|
constructor(credentialManager: CredentialManager, config?: HttpClientConfig);
|
|
44
138
|
/**
|
|
45
139
|
* Build HTTPS agent options from credential manager TLS configuration
|
|
@@ -71,9 +165,21 @@ export declare class HttpClient {
|
|
|
71
165
|
*/
|
|
72
166
|
delete<T = unknown>(path: string, config?: AxiosRequestConfig): Promise<ApiResponse<T>>;
|
|
73
167
|
/**
|
|
74
|
-
* Make a generic request
|
|
168
|
+
* Make a generic request with rate limiting and retry logic
|
|
75
169
|
*/
|
|
76
170
|
private request;
|
|
171
|
+
/**
|
|
172
|
+
* Execute request with retry logic
|
|
173
|
+
*/
|
|
174
|
+
private executeWithRetry;
|
|
175
|
+
/**
|
|
176
|
+
* Determine if request should be retried
|
|
177
|
+
*/
|
|
178
|
+
private shouldRetryRequest;
|
|
179
|
+
/**
|
|
180
|
+
* Calculate retry delay based on strategy
|
|
181
|
+
*/
|
|
182
|
+
private calculateRetryDelay;
|
|
77
183
|
/**
|
|
78
184
|
* Get the underlying Axios instance
|
|
79
185
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/auth/http-client.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAc,EACZ,aAAa,EACb,kBAAkB,EAGnB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,iBAAiB,EAAY,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/auth/http-client.ts"],"names":[],"mappings":"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"}
|