@stainlessdev/xray 0.5.1
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/CHANGELOG.md +109 -0
- package/LICENSE +201 -0
- package/README.md +401 -0
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +2 -0
- package/api-promise.mjs.map +1 -0
- package/client.d.mts +181 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +181 -0
- package/client.d.ts.map +1 -0
- package/client.js +477 -0
- package/client.js.map +1 -0
- package/client.mjs +473 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +46 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +46 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +74 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +70 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +46 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +46 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +113 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +97 -0
- package/core/error.mjs.map +1 -0
- package/core/pagination.d.mts +57 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +57 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +108 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +102 -0
- package/core/pagination.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +11 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +7 -0
- package/core/resource.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +2 -0
- package/error.d.ts.map +1 -0
- package/error.js +6 -0
- package/error.js.map +1 -0
- package/error.mjs +2 -0
- package/error.mjs.map +1 -0
- package/index.d.mts +7 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +7 -0
- package/index.d.ts.map +1 -0
- package/index.js +32 -0
- package/index.js.map +1 -0
- package/index.mjs +8 -0
- package/index.mjs.map +1 -0
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +41 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +36 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +20 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +20 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +79 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +74 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +12 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +12 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +40 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +37 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/qs/formats.d.mts +7 -0
- package/internal/qs/formats.d.mts.map +1 -0
- package/internal/qs/formats.d.ts +7 -0
- package/internal/qs/formats.d.ts.map +1 -0
- package/internal/qs/formats.js +13 -0
- package/internal/qs/formats.js.map +1 -0
- package/internal/qs/formats.mjs +9 -0
- package/internal/qs/formats.mjs.map +1 -0
- package/internal/qs/index.d.mts +10 -0
- package/internal/qs/index.d.mts.map +1 -0
- package/internal/qs/index.d.ts +10 -0
- package/internal/qs/index.d.ts.map +1 -0
- package/internal/qs/index.js +14 -0
- package/internal/qs/index.js.map +1 -0
- package/internal/qs/index.mjs +10 -0
- package/internal/qs/index.mjs.map +1 -0
- package/internal/qs/stringify.d.mts +3 -0
- package/internal/qs/stringify.d.mts.map +1 -0
- package/internal/qs/stringify.d.ts +3 -0
- package/internal/qs/stringify.d.ts.map +1 -0
- package/internal/qs/stringify.js +277 -0
- package/internal/qs/stringify.js.map +1 -0
- package/internal/qs/stringify.mjs +274 -0
- package/internal/qs/stringify.mjs.map +1 -0
- package/internal/qs/types.d.mts +57 -0
- package/internal/qs/types.d.mts.map +1 -0
- package/internal/qs/types.d.ts +57 -0
- package/internal/qs/types.d.ts.map +1 -0
- package/internal/qs/types.js +3 -0
- package/internal/qs/types.js.map +1 -0
- package/internal/qs/types.mjs +2 -0
- package/internal/qs/types.mjs.map +1 -0
- package/internal/qs/utils.d.mts +15 -0
- package/internal/qs/utils.d.mts.map +1 -0
- package/internal/qs/utils.d.ts +15 -0
- package/internal/qs/utils.d.ts.map +1 -0
- package/internal/qs/utils.js +230 -0
- package/internal/qs/utils.js.map +1 -0
- package/internal/qs/utils.mjs +217 -0
- package/internal/qs/utils.mjs.map +1 -0
- package/internal/request-options.d.mts +75 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +75 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +14 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +10 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +4 -0
- package/internal/shim-types.js.map +1 -0
- package/internal/shim-types.mjs +3 -0
- package/internal/shim-types.mjs.map +1 -0
- package/internal/shims.d.mts +20 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +20 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +92 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +85 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/to-file.d.mts +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +91 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +88 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +141 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +131 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +38 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +33 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +31 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +85 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +79 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/query.d.mts +2 -0
- package/internal/utils/query.d.mts.map +1 -0
- package/internal/utils/query.d.ts +2 -0
- package/internal/utils/query.d.ts.map +1 -0
- package/internal/utils/query.js +10 -0
- package/internal/utils/query.js.map +1 -0
- package/internal/utils/query.mjs +6 -0
- package/internal/utils/query.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +19 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +15 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +18 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +18 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +112 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +94 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +8 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +8 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +12 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +9 -0
- package/internal/utils.mjs.map +1 -0
- package/package.json +147 -0
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -0
- package/pagination.d.ts.map +1 -0
- package/pagination.js +6 -0
- package/pagination.js.map +1 -0
- package/pagination.mjs +2 -0
- package/pagination.mjs.map +1 -0
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +6 -0
- package/resource.js.map +1 -0
- package/resource.mjs +2 -0
- package/resource.mjs.map +1 -0
- package/resources/index.d.mts +2 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +2 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +7 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +3 -0
- package/resources/index.mjs.map +1 -0
- package/resources/request-logs.d.mts +324 -0
- package/resources/request-logs.d.mts.map +1 -0
- package/resources/request-logs.d.ts +324 -0
- package/resources/request-logs.d.ts.map +1 -0
- package/resources/request-logs.js +62 -0
- package/resources/request-logs.js.map +1 -0
- package/resources/request-logs.mjs +58 -0
- package/resources/request-logs.mjs.map +1 -0
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +5 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +768 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +92 -0
- package/src/core/error.ts +130 -0
- package/src/core/pagination.ts +169 -0
- package/src/core/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/index.ts +23 -0
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +93 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +33 -0
- package/src/internal/headers.ts +97 -0
- package/src/internal/parse.ts +56 -0
- package/src/internal/qs/LICENSE.md +13 -0
- package/src/internal/qs/README.md +3 -0
- package/src/internal/qs/formats.ts +10 -0
- package/src/internal/qs/index.ts +13 -0
- package/src/internal/qs/stringify.ts +385 -0
- package/src/internal/qs/types.ts +71 -0
- package/src/internal/qs/utils.ts +265 -0
- package/src/internal/request-options.ts +91 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/to-file.ts +154 -0
- package/src/internal/types.ts +95 -0
- package/src/internal/uploads.ts +187 -0
- package/src/internal/utils/base64.ts +40 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +126 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/query.ts +7 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +17 -0
- package/src/internal/utils/values.ts +105 -0
- package/src/internal/utils.ts +9 -0
- package/src/lib/.keep +4 -0
- package/src/pagination.ts +2 -0
- package/src/resource.ts +2 -0
- package/src/resources/index.ts +10 -0
- package/src/resources/request-logs.ts +405 -0
- package/src/resources.ts +1 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +6 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +2 -0
- package/uploads.mjs.map +1 -0
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { XrayError } from '../../core/error';
|
|
4
|
+
|
|
5
|
+
// https://url.spec.whatwg.org/#url-scheme-string
|
|
6
|
+
const startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;
|
|
7
|
+
|
|
8
|
+
export const isAbsoluteURL = (url: string): boolean => {
|
|
9
|
+
return startsWithSchemeRegexp.test(url);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export let isArray = (val: unknown): val is unknown[] => ((isArray = Array.isArray), isArray(val));
|
|
13
|
+
export let isReadonlyArray = isArray as (val: unknown) => val is readonly unknown[];
|
|
14
|
+
|
|
15
|
+
/** Returns an object if the given value isn't an object, otherwise returns as-is */
|
|
16
|
+
export function maybeObj(x: unknown): object {
|
|
17
|
+
if (typeof x !== 'object') {
|
|
18
|
+
return {};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
return x ?? {};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// https://stackoverflow.com/a/34491287
|
|
25
|
+
export function isEmptyObj(obj: Object | null | undefined): boolean {
|
|
26
|
+
if (!obj) return true;
|
|
27
|
+
for (const _k in obj) return false;
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// https://eslint.org/docs/latest/rules/no-prototype-builtins
|
|
32
|
+
export function hasOwn<T extends object = object>(obj: T, key: PropertyKey): key is keyof T {
|
|
33
|
+
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function isObj(obj: unknown): obj is Record<string, unknown> {
|
|
37
|
+
return obj != null && typeof obj === 'object' && !Array.isArray(obj);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export const ensurePresent = <T>(value: T | null | undefined): T => {
|
|
41
|
+
if (value == null) {
|
|
42
|
+
throw new XrayError(`Expected a value to be given but received ${value} instead.`);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return value;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const validatePositiveInteger = (name: string, n: unknown): number => {
|
|
49
|
+
if (typeof n !== 'number' || !Number.isInteger(n)) {
|
|
50
|
+
throw new XrayError(`${name} must be an integer`);
|
|
51
|
+
}
|
|
52
|
+
if (n < 0) {
|
|
53
|
+
throw new XrayError(`${name} must be a positive integer`);
|
|
54
|
+
}
|
|
55
|
+
return n;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export const coerceInteger = (value: unknown): number => {
|
|
59
|
+
if (typeof value === 'number') return Math.round(value);
|
|
60
|
+
if (typeof value === 'string') return parseInt(value, 10);
|
|
61
|
+
|
|
62
|
+
throw new XrayError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const coerceFloat = (value: unknown): number => {
|
|
66
|
+
if (typeof value === 'number') return value;
|
|
67
|
+
if (typeof value === 'string') return parseFloat(value);
|
|
68
|
+
|
|
69
|
+
throw new XrayError(`Could not coerce ${value} (type: ${typeof value}) into a number`);
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export const coerceBoolean = (value: unknown): boolean => {
|
|
73
|
+
if (typeof value === 'boolean') return value;
|
|
74
|
+
if (typeof value === 'string') return value === 'true';
|
|
75
|
+
return Boolean(value);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const maybeCoerceInteger = (value: unknown): number | undefined => {
|
|
79
|
+
if (value == null) {
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
return coerceInteger(value);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const maybeCoerceFloat = (value: unknown): number | undefined => {
|
|
86
|
+
if (value == null) {
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
return coerceFloat(value);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
|
|
93
|
+
if (value == null) {
|
|
94
|
+
return undefined;
|
|
95
|
+
}
|
|
96
|
+
return coerceBoolean(value);
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export const safeJSON = (text: string) => {
|
|
100
|
+
try {
|
|
101
|
+
return JSON.parse(text);
|
|
102
|
+
} catch (err) {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
export * from './utils/values';
|
|
4
|
+
export * from './utils/base64';
|
|
5
|
+
export * from './utils/env';
|
|
6
|
+
export * from './utils/log';
|
|
7
|
+
export * from './utils/uuid';
|
|
8
|
+
export * from './utils/sleep';
|
|
9
|
+
export * from './utils/query';
|
package/src/lib/.keep
ADDED
package/src/resource.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
export {
|
|
4
|
+
RequestLogs,
|
|
5
|
+
type RequestLogRetrieveResponse,
|
|
6
|
+
type RequestLogListResponse,
|
|
7
|
+
type RequestLogRetrieveParams,
|
|
8
|
+
type RequestLogListParams,
|
|
9
|
+
type RequestLogListResponsesCursorIDPage,
|
|
10
|
+
} from './request-logs';
|
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { APIResource } from '../core/resource';
|
|
4
|
+
import { APIPromise } from '../core/api-promise';
|
|
5
|
+
import { CursorIDPage, type CursorIDPageParams, PagePromise } from '../core/pagination';
|
|
6
|
+
import { buildHeaders } from '../internal/headers';
|
|
7
|
+
import { RequestOptions } from '../internal/request-options';
|
|
8
|
+
import { path } from '../internal/utils/path';
|
|
9
|
+
|
|
10
|
+
export class RequestLogs extends APIResource {
|
|
11
|
+
/**
|
|
12
|
+
* Retrieve a specific request log by its [request ID](/guides/request-id).
|
|
13
|
+
*
|
|
14
|
+
* Results are limited in accordance with X-ray's
|
|
15
|
+
* [tenancy model](/guides/tenancy/). Callers may want to set `X-Xray-Tenant-Id` to
|
|
16
|
+
* a specific tenant ID to query logs for that tenant, or omit it to query across
|
|
17
|
+
* all non-tenanted logs.
|
|
18
|
+
*/
|
|
19
|
+
retrieve(
|
|
20
|
+
requestID: string,
|
|
21
|
+
params: RequestLogRetrieveParams | null | undefined = {},
|
|
22
|
+
options?: RequestOptions,
|
|
23
|
+
): APIPromise<RequestLogRetrieveResponse> {
|
|
24
|
+
const { 'X-Xray-Tenant-Id': xXrayTenantID, ...query } = params ?? {};
|
|
25
|
+
return this._client.get(path`/v1/request_logs/${requestID}`, {
|
|
26
|
+
query,
|
|
27
|
+
...options,
|
|
28
|
+
headers: buildHeaders([
|
|
29
|
+
{ ...(xXrayTenantID != null ? { 'X-Xray-Tenant-Id': xXrayTenantID } : undefined) },
|
|
30
|
+
options?.headers,
|
|
31
|
+
]),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* List request logs by time and using a variety of optional filters.
|
|
37
|
+
*
|
|
38
|
+
* This is one of X-ray's most common API endpoints, returning a collection of
|
|
39
|
+
* request logs and accepting a variety of optional filters to narrow down results.
|
|
40
|
+
* For example, an integration might query for all request logs from a specific
|
|
41
|
+
* endpoint by invoking it with `request_method=GET` and
|
|
42
|
+
* `request_route=/api/v1/users/{user_id}`, or query via a customer-defined tag
|
|
43
|
+
* with `tags[sensitivity]=high`.
|
|
44
|
+
*
|
|
45
|
+
* The endpoint is paginated, ordered by `timestamp` and `request_id`. Order
|
|
46
|
+
* defaults to ascending (oldest first) but can be set to descending with the
|
|
47
|
+
* `order` query parameter. Many integrations will be querying for recent request
|
|
48
|
+
* logs, so setting `order=desc` is the more conventional form.
|
|
49
|
+
*
|
|
50
|
+
* Results are limited in accordance with X-ray's
|
|
51
|
+
* [tenancy model](/guides/tenancy/). Callers may want to set `X-Xray-Tenant-Id` to
|
|
52
|
+
* a specific tenant ID to query logs for that tenant, or omit it to query across
|
|
53
|
+
* all non-tenanted logs.
|
|
54
|
+
*/
|
|
55
|
+
list(
|
|
56
|
+
params: RequestLogListParams | null | undefined = {},
|
|
57
|
+
options?: RequestOptions,
|
|
58
|
+
): PagePromise<RequestLogListResponsesCursorIDPage, RequestLogListResponse> {
|
|
59
|
+
const { 'X-Xray-Tenant-Id': xXrayTenantID, ...query } = params ?? {};
|
|
60
|
+
return this._client.getAPIList('/v1/request_logs', CursorIDPage<RequestLogListResponse>, {
|
|
61
|
+
query,
|
|
62
|
+
...options,
|
|
63
|
+
headers: buildHeaders([
|
|
64
|
+
{ ...(xXrayTenantID != null ? { 'X-Xray-Tenant-Id': xXrayTenantID } : undefined) },
|
|
65
|
+
options?.headers,
|
|
66
|
+
]),
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export type RequestLogListResponsesCursorIDPage = CursorIDPage<RequestLogListResponse>;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* RequestLog represents a single HTTP request and response exchange from a service
|
|
75
|
+
* being traced by X-ray.
|
|
76
|
+
*/
|
|
77
|
+
export interface RequestLogRetrieveResponse {
|
|
78
|
+
/**
|
|
79
|
+
* HTTP headers sent with the request, keyed by header name.
|
|
80
|
+
*/
|
|
81
|
+
request_headers: { [key: string]: Array<string> };
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Unique identifier for the request, often an
|
|
85
|
+
* [X-ray request ID](/guides/request-id).
|
|
86
|
+
*/
|
|
87
|
+
request_id: string;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* HTTP method used for the request (e.g. `GET`, `POST`).
|
|
91
|
+
*/
|
|
92
|
+
request_method: string;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Full path of the HTTP request (e.g. `/v1/users/123`).
|
|
96
|
+
*/
|
|
97
|
+
request_path: string;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* HTTP headers sent with the response, keyed by header name.
|
|
101
|
+
*/
|
|
102
|
+
response_headers: { [key: string]: Array<string> };
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* When the request was received.
|
|
106
|
+
*/
|
|
107
|
+
timestamp: string;
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Total time the request took in microseconds.
|
|
111
|
+
*/
|
|
112
|
+
duration_us?: number;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* IP address of the client that made the request.
|
|
116
|
+
*/
|
|
117
|
+
ip?: string;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Raw body of the HTTP request.
|
|
121
|
+
*
|
|
122
|
+
* This property may be large and include relatively sensitive data, so it's
|
|
123
|
+
* omitted from responses by default. Include it using the `include` query
|
|
124
|
+
* parameter like `include=request_body`.
|
|
125
|
+
*/
|
|
126
|
+
request_body?: string;
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Encoding applied to the request body. If the body could be interpreted as valid
|
|
130
|
+
* UTF-8, this field will contain the value `utf-8`. If not, X-ray will have
|
|
131
|
+
* encoded the body as base64 and this field will contain the value `base64`.
|
|
132
|
+
*/
|
|
133
|
+
request_body_encoding?: string;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Whether the request body was truncated because it exceeded the maximum capture
|
|
137
|
+
* size.
|
|
138
|
+
*/
|
|
139
|
+
request_body_truncated?: boolean;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Matched route pattern for the request (e.g. `/v1/users/{id}`) as read from the
|
|
143
|
+
* target stack's internal HTTP framework (i.e. Go's `net/http`, Express in
|
|
144
|
+
* Javascript, etc.), if available.
|
|
145
|
+
*/
|
|
146
|
+
request_route?: string;
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Raw body of the HTTP response.
|
|
150
|
+
*
|
|
151
|
+
* This property may be large and include relatively sensitive data, so it's
|
|
152
|
+
* omitted from responses by default. Include it using the `include` query
|
|
153
|
+
* parameter like `include=response_body`.
|
|
154
|
+
*/
|
|
155
|
+
response_body?: string;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Encoding applied to the response body. If the body could be interpreted as valid
|
|
159
|
+
* UTF-8, this field will contain the value `utf-8`. If not, X-ray will have
|
|
160
|
+
* encoded the body as base64 and this field will contain the value `base64`.
|
|
161
|
+
*/
|
|
162
|
+
response_body_encoding?: string;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Whether the response body was truncated because it exceeded the maximum capture
|
|
166
|
+
* size.
|
|
167
|
+
*/
|
|
168
|
+
response_body_truncated?: boolean;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Name of the service that handled the request.
|
|
172
|
+
*/
|
|
173
|
+
service?: string;
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* HTTP status code returned by the response (e.g. 200, 404).
|
|
177
|
+
*/
|
|
178
|
+
status?: number;
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Arbitrary customer-defined tags associated with the request, keyed by tag name.
|
|
182
|
+
*/
|
|
183
|
+
tags?: { [key: string]: string };
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Identifier for the tenant that made the request.
|
|
187
|
+
*/
|
|
188
|
+
tenant_id?: string;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Identifier for the user who made the request, if known.
|
|
192
|
+
*/
|
|
193
|
+
user_id?: string;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* RequestLog represents a single HTTP request and response exchange from a service
|
|
198
|
+
* being traced by X-ray.
|
|
199
|
+
*/
|
|
200
|
+
export interface RequestLogListResponse {
|
|
201
|
+
/**
|
|
202
|
+
* HTTP headers sent with the request, keyed by header name.
|
|
203
|
+
*/
|
|
204
|
+
request_headers: { [key: string]: Array<string> };
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Unique identifier for the request, often an
|
|
208
|
+
* [X-ray request ID](/guides/request-id).
|
|
209
|
+
*/
|
|
210
|
+
request_id: string;
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* HTTP method used for the request (e.g. `GET`, `POST`).
|
|
214
|
+
*/
|
|
215
|
+
request_method: string;
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Full path of the HTTP request (e.g. `/v1/users/123`).
|
|
219
|
+
*/
|
|
220
|
+
request_path: string;
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* HTTP headers sent with the response, keyed by header name.
|
|
224
|
+
*/
|
|
225
|
+
response_headers: { [key: string]: Array<string> };
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* When the request was received.
|
|
229
|
+
*/
|
|
230
|
+
timestamp: string;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Total time the request took in microseconds.
|
|
234
|
+
*/
|
|
235
|
+
duration_us?: number;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* IP address of the client that made the request.
|
|
239
|
+
*/
|
|
240
|
+
ip?: string;
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Raw body of the HTTP request.
|
|
244
|
+
*
|
|
245
|
+
* This property may be large and include relatively sensitive data, so it's
|
|
246
|
+
* omitted from responses by default. Include it using the `include` query
|
|
247
|
+
* parameter like `include=request_body`.
|
|
248
|
+
*/
|
|
249
|
+
request_body?: string;
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Encoding applied to the request body. If the body could be interpreted as valid
|
|
253
|
+
* UTF-8, this field will contain the value `utf-8`. If not, X-ray will have
|
|
254
|
+
* encoded the body as base64 and this field will contain the value `base64`.
|
|
255
|
+
*/
|
|
256
|
+
request_body_encoding?: string;
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Whether the request body was truncated because it exceeded the maximum capture
|
|
260
|
+
* size.
|
|
261
|
+
*/
|
|
262
|
+
request_body_truncated?: boolean;
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Matched route pattern for the request (e.g. `/v1/users/{id}`) as read from the
|
|
266
|
+
* target stack's internal HTTP framework (i.e. Go's `net/http`, Express in
|
|
267
|
+
* Javascript, etc.), if available.
|
|
268
|
+
*/
|
|
269
|
+
request_route?: string;
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* Raw body of the HTTP response.
|
|
273
|
+
*
|
|
274
|
+
* This property may be large and include relatively sensitive data, so it's
|
|
275
|
+
* omitted from responses by default. Include it using the `include` query
|
|
276
|
+
* parameter like `include=response_body`.
|
|
277
|
+
*/
|
|
278
|
+
response_body?: string;
|
|
279
|
+
|
|
280
|
+
/**
|
|
281
|
+
* Encoding applied to the response body. If the body could be interpreted as valid
|
|
282
|
+
* UTF-8, this field will contain the value `utf-8`. If not, X-ray will have
|
|
283
|
+
* encoded the body as base64 and this field will contain the value `base64`.
|
|
284
|
+
*/
|
|
285
|
+
response_body_encoding?: string;
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Whether the response body was truncated because it exceeded the maximum capture
|
|
289
|
+
* size.
|
|
290
|
+
*/
|
|
291
|
+
response_body_truncated?: boolean;
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Name of the service that handled the request.
|
|
295
|
+
*/
|
|
296
|
+
service?: string;
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* HTTP status code returned by the response (e.g. 200, 404).
|
|
300
|
+
*/
|
|
301
|
+
status?: number;
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Arbitrary customer-defined tags associated with the request, keyed by tag name.
|
|
305
|
+
*/
|
|
306
|
+
tags?: { [key: string]: string };
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* Identifier for the tenant that made the request.
|
|
310
|
+
*/
|
|
311
|
+
tenant_id?: string;
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Identifier for the user who made the request, if known.
|
|
315
|
+
*/
|
|
316
|
+
user_id?: string;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
export interface RequestLogRetrieveParams {
|
|
320
|
+
/**
|
|
321
|
+
* Query param: Additional response properties to include, such as `request_body`
|
|
322
|
+
* and `response_body`. By default, these properties are omitted.
|
|
323
|
+
*/
|
|
324
|
+
include?: Array<string>;
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Query param: Optional user ID to filter request logs to.
|
|
328
|
+
*/
|
|
329
|
+
user_id?: string;
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Header param: Tenant ID to scope request-log reads to. Set to `*` to query
|
|
333
|
+
* across all tenants.
|
|
334
|
+
*/
|
|
335
|
+
'X-Xray-Tenant-Id'?: string;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
export interface RequestLogListParams extends CursorIDPageParams {
|
|
339
|
+
/**
|
|
340
|
+
* Query param: Additional response properties to include, such as `request_body`
|
|
341
|
+
* and `response_body`. By default, these properties are omitted.
|
|
342
|
+
*/
|
|
343
|
+
include?: Array<string>;
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Query param: Optional IP address to filter request logs by.
|
|
347
|
+
*/
|
|
348
|
+
ip?: string;
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Query param: Sort order for results, either "asc" (ascending, oldest first) or
|
|
352
|
+
* `desc` (descending, newest first). Defaults to `asc`.
|
|
353
|
+
*/
|
|
354
|
+
order?: 'asc' | 'desc';
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Query param: The HTTP method to filter request logs by (e.g. `GET`, `POST`,
|
|
358
|
+
* etc.).
|
|
359
|
+
*/
|
|
360
|
+
request_method?: string;
|
|
361
|
+
|
|
362
|
+
/**
|
|
363
|
+
* Query param: The request path to filter request logs by (e.g.
|
|
364
|
+
* `/api/v1/users/user_123`).
|
|
365
|
+
*/
|
|
366
|
+
request_path?: string;
|
|
367
|
+
|
|
368
|
+
/**
|
|
369
|
+
* Query param: The request route to filter request logs by (e.g.
|
|
370
|
+
* `/api/v1/users/{user_id}`).
|
|
371
|
+
*/
|
|
372
|
+
request_route?: string;
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Query param: Optional service name to filter request logs by.
|
|
376
|
+
*/
|
|
377
|
+
service?: string;
|
|
378
|
+
|
|
379
|
+
/**
|
|
380
|
+
* Query param: Optional HTTP status code to filter request logs by (e.g. 200,
|
|
381
|
+
* 404).
|
|
382
|
+
*/
|
|
383
|
+
status?: number;
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Query param: Optional user ID to filter request logs to.
|
|
387
|
+
*/
|
|
388
|
+
user_id?: string;
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* Header param: Tenant ID to scope request-log reads to. Set to `*` to query
|
|
392
|
+
* across all tenants.
|
|
393
|
+
*/
|
|
394
|
+
'X-Xray-Tenant-Id'?: string;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export declare namespace RequestLogs {
|
|
398
|
+
export {
|
|
399
|
+
type RequestLogRetrieveResponse as RequestLogRetrieveResponse,
|
|
400
|
+
type RequestLogListResponse as RequestLogListResponse,
|
|
401
|
+
type RequestLogListResponsesCursorIDPage as RequestLogListResponsesCursorIDPage,
|
|
402
|
+
type RequestLogRetrieveParams as RequestLogRetrieveParams,
|
|
403
|
+
type RequestLogListParams as RequestLogListParams,
|
|
404
|
+
};
|
|
405
|
+
}
|
package/src/resources.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './resources/index';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
{
|
|
2
|
+
// this config is included in the published src directory to prevent TS errors
|
|
3
|
+
// from appearing when users go to source, and VSCode opens the source .ts file
|
|
4
|
+
// via declaration maps
|
|
5
|
+
"include": ["index.ts"],
|
|
6
|
+
"compilerOptions": {
|
|
7
|
+
"target": "ES2015",
|
|
8
|
+
"lib": ["DOM", "DOM.Iterable", "ES2018"],
|
|
9
|
+
"moduleResolution": "node"
|
|
10
|
+
}
|
|
11
|
+
}
|
package/src/uploads.ts
ADDED
package/src/version.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const VERSION = '0.5.1'; // x-release-please-version
|
package/uploads.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploads.d.mts","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":""}
|
package/uploads.d.ts
ADDED
package/uploads.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":""}
|
package/uploads.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("./internal/tslib.js");
|
|
4
|
+
/** @deprecated Import from ./core/uploads instead */
|
|
5
|
+
tslib_1.__exportStar(require("./core/uploads.js"), exports);
|
|
6
|
+
//# sourceMappingURL=uploads.js.map
|
package/uploads.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":";;;AAAA,qDAAqD;AACrD,4DAA+B"}
|
package/uploads.mjs
ADDED
package/uploads.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploads.mjs","sourceRoot":"","sources":["src/uploads.ts"],"names":[],"mappings":""}
|
package/version.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.mts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/version.d.ts
ADDED
package/version.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
package/version.js
ADDED
package/version.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,OAAO,CAAC,CAAC,2BAA2B"}
|
package/version.mjs
ADDED
package/version.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.mjs","sourceRoot":"","sources":["src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,2BAA2B"}
|