Skip to content

Commit 156101d

Browse files
release: 3.0.0-beta.10 (#183)
* feat(api): update via SDK Studio (#182) * feat(api): update via SDK Studio (#184) * feat(api): update via SDK Studio (#185) * feat(api): OpenAPI spec update via Stainless API (#186) * feat(api): OpenAPI spec update via Stainless API (#187) * feat(api): OpenAPI spec update via Stainless API (#188) * feat(api): OpenAPI spec update via Stainless API (#189) * feat(api): OpenAPI spec update via Stainless API (#190) * feat(api): OpenAPI spec update via Stainless API (#191) * feat(api): OpenAPI spec update via Stainless API (#192) * feat(api): OpenAPI spec update via Stainless API (#193) * feat(api): update via SDK Studio (#194) * release: 3.0.0-beta.10 --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent 6bbd7bb commit 156101d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+11478
-2540
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "3.0.0-beta.9"
2+
".": "3.0.0-beta.10"
33
}

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
configured_endpoints: 1288
1+
configured_endpoints: 1290

CHANGELOG.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,24 @@
11
# Changelog
22

3+
## 3.0.0-beta.10 (2024-03-22)
4+
5+
Full Changelog: [v3.0.0-beta.9...v3.0.0-beta.10](https://github.com/cloudflare/cloudflare-typescript/compare/v3.0.0-beta.9...v3.0.0-beta.10)
6+
7+
### Features
8+
9+
* **api:** OpenAPI spec update via Stainless API ([#186](https://github.com/cloudflare/cloudflare-typescript/issues/186)) ([024ba76](https://github.com/cloudflare/cloudflare-typescript/commit/024ba7680bff3727e2a36bf69927986241d5d917))
10+
* **api:** OpenAPI spec update via Stainless API ([#187](https://github.com/cloudflare/cloudflare-typescript/issues/187)) ([5b84f38](https://github.com/cloudflare/cloudflare-typescript/commit/5b84f380e47f8b651bbfc6c85fb61fe520ca3c1d))
11+
* **api:** OpenAPI spec update via Stainless API ([#188](https://github.com/cloudflare/cloudflare-typescript/issues/188)) ([3b4fe72](https://github.com/cloudflare/cloudflare-typescript/commit/3b4fe72c2a4d292d99ff4f429267e92ee9f37527))
12+
* **api:** OpenAPI spec update via Stainless API ([#189](https://github.com/cloudflare/cloudflare-typescript/issues/189)) ([354cf29](https://github.com/cloudflare/cloudflare-typescript/commit/354cf29b191629b5a8aea8421adbb84fc4b2e6e1))
13+
* **api:** OpenAPI spec update via Stainless API ([#190](https://github.com/cloudflare/cloudflare-typescript/issues/190)) ([9bbb0b2](https://github.com/cloudflare/cloudflare-typescript/commit/9bbb0b225fd0491df79cdf79a3176741dc88ce78))
14+
* **api:** OpenAPI spec update via Stainless API ([#191](https://github.com/cloudflare/cloudflare-typescript/issues/191)) ([588680a](https://github.com/cloudflare/cloudflare-typescript/commit/588680a0980dca8f5f3fcb9bfce85b13820aeddf))
15+
* **api:** OpenAPI spec update via Stainless API ([#192](https://github.com/cloudflare/cloudflare-typescript/issues/192)) ([3506528](https://github.com/cloudflare/cloudflare-typescript/commit/3506528c28e585dc6c4b9304d245f78543b33299))
16+
* **api:** OpenAPI spec update via Stainless API ([#193](https://github.com/cloudflare/cloudflare-typescript/issues/193)) ([282f368](https://github.com/cloudflare/cloudflare-typescript/commit/282f36847679192774a9e3b80610212b54f0e509))
17+
* **api:** update via SDK Studio ([#182](https://github.com/cloudflare/cloudflare-typescript/issues/182)) ([2274ba0](https://github.com/cloudflare/cloudflare-typescript/commit/2274ba02940a382c2958504eaf31a7a1cd66efd7))
18+
* **api:** update via SDK Studio ([#184](https://github.com/cloudflare/cloudflare-typescript/issues/184)) ([84eba2c](https://github.com/cloudflare/cloudflare-typescript/commit/84eba2cd4b8d375f0eed13319d79f7fcbda74005))
19+
* **api:** update via SDK Studio ([#185](https://github.com/cloudflare/cloudflare-typescript/issues/185)) ([3ba723d](https://github.com/cloudflare/cloudflare-typescript/commit/3ba723d01f2bf9a90c90b640fa3e8c42ad6b8f39))
20+
* **api:** update via SDK Studio ([#194](https://github.com/cloudflare/cloudflare-typescript/issues/194)) ([5fd3ecf](https://github.com/cloudflare/cloudflare-typescript/commit/5fd3ecfd964ab6623c37bf01a979b57b0623745a))
21+
322
## 3.0.0-beta.9 (2024-03-20)
423

524
Full Changelog: [v3.0.0-beta.8...v3.0.0-beta.9](https://github.com/cloudflare/cloudflare-typescript/compare/v3.0.0-beta.8...v3.0.0-beta.9)

README.md

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ This library provides convenient access to the Cloudflare REST API from server-s
66

77
The REST API documentation can be found [on developers.cloudflare.com](https://developers.cloudflare.com/api). The full API of this library can be found in [api.md](api.md).
88

9+
It is generated with [Stainless](https://www.stainlessapi.com/).
10+
911
## Installation
1012

1113
```sh
@@ -201,7 +203,51 @@ console.log(raw.headers.get('X-My-Header'));
201203
console.log(zone.id);
202204
```
203205

204-
## Customizing the fetch client
206+
### Making custom/undocumented requests
207+
208+
This library is typed for convenient access to the documented API. If you need to access undocumented
209+
endpoints, params, or response properties, the library can still be used.
210+
211+
#### Undocumented endpoints
212+
213+
To make requests to undocumented endpoints, you can use `client.get`, `client.post`, and other HTTP verbs.
214+
Options on the client, such as retries, will be respected when making these requests.
215+
216+
```ts
217+
await client.post('/some/path', {
218+
body: { some_prop: 'foo' },
219+
query: { some_query_arg: 'bar' },
220+
});
221+
```
222+
223+
#### Undocumented params
224+
225+
To make requests using undocumented parameters, you may use `// @ts-expect-error` on the undocumented
226+
parameter. This library doesn't validate at runtime that the request matches the type, so any extra values you
227+
send will be sent as-is.
228+
229+
```ts
230+
client.foo.create({
231+
foo: 'my_param',
232+
bar: 12,
233+
// @ts-expect-error baz is not yet public
234+
baz: 'undocumented option',
235+
});
236+
```
237+
238+
For requests with the `GET` verb, any extra params will be in the query, all other requests will send the
239+
extra param in the body.
240+
241+
If you want to explicitly send an extra argument, you can do so with the `query`, `body`, and `headers` request
242+
options.
243+
244+
#### Undocumented properties
245+
246+
To access undocumented response properties, you may access the response object with `// @ts-expect-error` on
247+
the response object, or cast the response object to the requisite type. Like the request params, we do not
248+
validate or strip extra properties from the response from the API.
249+
250+
### Customizing the fetch client
205251

206252
By default, this library uses `node-fetch` in Node, and expects a global `fetch` function in other environments.
207253

@@ -219,6 +265,8 @@ import Cloudflare from 'cloudflare';
219265
To do the inverse, add `import "cloudflare/shims/node"` (which does import polyfills).
220266
This can also be useful if you are getting the wrong TypeScript types for `Response` ([more details](https://github.com/cloudflare/cloudflare-typescript/tree/main/src/_shims#readme)).
221267

268+
### Logging and middleware
269+
222270
You may also provide a custom `fetch` function when instantiating the client,
223271
which can be used to inspect or alter the `Request` or `Response` before/after each request:
224272

@@ -239,7 +287,7 @@ const client = new Cloudflare({
239287
Note that if given a `DEBUG=true` environment variable, this library will log all requests and responses automatically.
240288
This is intended for debugging purposes only and may change in the future without notice.
241289

242-
## Configuring an HTTP(S) Agent (e.g., for proxies)
290+
### Configuring an HTTP(S) Agent (e.g., for proxies)
243291

244292
By default, this library uses a stable agent for all http/https requests to reuse TCP connections, eliminating many TCP & TLS handshakes and shaving around 100ms off most requests.
245293

api.md

Lines changed: 41 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
# Shared
2+
3+
Types:
4+
5+
- <code><a href="./src/resources/shared.ts">ErrorData</a></code>
6+
17
# Accounts
28

39
Types:
@@ -330,6 +336,18 @@ Methods:
330336

331337
- <code title="put /zones/{zone_id}/activation_check">client.zones.activationCheck.<a href="./src/resources/zones/activation-check.ts">trigger</a>({ ...params }) -> ActivationCheckTriggerResponse</code>
332338

339+
## DNSSettings
340+
341+
Types:
342+
343+
- <code><a href="./src/resources/zones/dns-settings.ts">DNSSettingEditResponse</a></code>
344+
- <code><a href="./src/resources/zones/dns-settings.ts">DNSSettingGetResponse</a></code>
345+
346+
Methods:
347+
348+
- <code title="patch /zones/{zone_id}/dns_settings">client.zones.dnsSettings.<a href="./src/resources/zones/dns-settings.ts">edit</a>({ ...params }) -> DNSSettingEditResponse</code>
349+
- <code title="get /zones/{zone_id}/dns_settings">client.zones.dnsSettings.<a href="./src/resources/zones/dns-settings.ts">get</a>({ ...params }) -> DNSSettingGetResponse</code>
350+
333351
## Settings
334352

335353
Types:
@@ -3173,33 +3191,33 @@ Methods:
31733191

31743192
Types:
31753193

3176-
- <code><a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">IntelIndicatorFeedItem</a></code>
3177-
- <code><a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">IntelIndicatorFeedMetadata</a></code>
3178-
- <code><a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">IntelUpdateFeed</a></code>
3194+
- <code><a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">IndicatorFeedCreateResponse</a></code>
3195+
- <code><a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">IndicatorFeedUpdateResponse</a></code>
31793196
- <code><a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">IndicatorFeedListResponse</a></code>
31803197
- <code><a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">IndicatorFeedDataResponse</a></code>
3198+
- <code><a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">IndicatorFeedGetResponse</a></code>
31813199

31823200
Methods:
31833201

3184-
- <code title="post /accounts/{account_id}/intel/indicator-feeds">client.intel.indicatorFeeds.<a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">create</a>({ ...params }) -> IntelIndicatorFeedItem</code>
3185-
- <code title="put /accounts/{account_id}/intel/indicator-feeds/{feed_id}/snapshot">client.intel.indicatorFeeds.<a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">update</a>(feedId, { ...params }) -> IntelUpdateFeed</code>
3202+
- <code title="post /accounts/{account_id}/intel/indicator-feeds">client.intel.indicatorFeeds.<a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">create</a>({ ...params }) -> IndicatorFeedCreateResponse</code>
3203+
- <code title="put /accounts/{account_id}/intel/indicator-feeds/{feed_id}/snapshot">client.intel.indicatorFeeds.<a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">update</a>(feedId, { ...params }) -> IndicatorFeedUpdateResponse</code>
31863204
- <code title="get /accounts/{account_id}/intel/indicator-feeds">client.intel.indicatorFeeds.<a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">list</a>({ ...params }) -> IndicatorFeedListResponse</code>
31873205
- <code title="get /accounts/{account_id}/intel/indicator-feeds/{feed_id}/data">client.intel.indicatorFeeds.<a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">data</a>(feedId, { ...params }) -> string</code>
3188-
- <code title="get /accounts/{account_id}/intel/indicator-feeds/{feed_id}">client.intel.indicatorFeeds.<a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">get</a>(feedId, { ...params }) -> IntelIndicatorFeedMetadata</code>
3206+
- <code title="get /accounts/{account_id}/intel/indicator-feeds/{feed_id}">client.intel.indicatorFeeds.<a href="./src/resources/intel/indicator-feeds/indicator-feeds.ts">get</a>(feedId, { ...params }) -> IndicatorFeedGetResponse</code>
31893207

31903208
### Permissions
31913209

31923210
Types:
31933211

3194-
- <code><a href="./src/resources/intel/indicator-feeds/permissions.ts">IntelPermissionListItem</a></code>
3195-
- <code><a href="./src/resources/intel/indicator-feeds/permissions.ts">IntelPermissionsUpdate</a></code>
3212+
- <code><a href="./src/resources/intel/indicator-feeds/permissions.ts">PermissionCreateResponse</a></code>
31963213
- <code><a href="./src/resources/intel/indicator-feeds/permissions.ts">PermissionListResponse</a></code>
3214+
- <code><a href="./src/resources/intel/indicator-feeds/permissions.ts">PermissionDeleteResponse</a></code>
31973215

31983216
Methods:
31993217

3200-
- <code title="put /accounts/{account_id}/intel/indicator-feeds/permissions/add">client.intel.indicatorFeeds.permissions.<a href="./src/resources/intel/indicator-feeds/permissions.ts">create</a>({ ...params }) -> IntelPermissionsUpdate</code>
3218+
- <code title="put /accounts/{account_id}/intel/indicator-feeds/permissions/add">client.intel.indicatorFeeds.permissions.<a href="./src/resources/intel/indicator-feeds/permissions.ts">create</a>({ ...params }) -> PermissionCreateResponse</code>
32013219
- <code title="get /accounts/{account_id}/intel/indicator-feeds/permissions/view">client.intel.indicatorFeeds.permissions.<a href="./src/resources/intel/indicator-feeds/permissions.ts">list</a>({ ...params }) -> PermissionListResponse</code>
3202-
- <code title="put /accounts/{account_id}/intel/indicator-feeds/permissions/remove">client.intel.indicatorFeeds.permissions.<a href="./src/resources/intel/indicator-feeds/permissions.ts">delete</a>({ ...params }) -> IntelPermissionsUpdate</code>
3220+
- <code title="put /accounts/{account_id}/intel/indicator-feeds/permissions/remove">client.intel.indicatorFeeds.permissions.<a href="./src/resources/intel/indicator-feeds/permissions.ts">delete</a>({ ...params }) -> PermissionDeleteResponse</code>
32033221

32043222
## Sinkholes
32053223

@@ -3398,17 +3416,17 @@ Types:
33983416

33993417
Methods:
34003418

3401-
- <code title="post /accounts/{account_identifier}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">create</a>(accountIdentifier) -> MagicVisibilityMNMConfig</code>
3402-
- <code title="put /accounts/{account_identifier}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">update</a>(accountIdentifier) -> MagicVisibilityMNMConfig</code>
3403-
- <code title="delete /accounts/{account_identifier}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">delete</a>(accountIdentifier) -> MagicVisibilityMNMConfig</code>
3404-
- <code title="patch /accounts/{account_identifier}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">edit</a>(accountIdentifier) -> MagicVisibilityMNMConfig</code>
3405-
- <code title="get /accounts/{account_identifier}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">get</a>(accountIdentifier) -> MagicVisibilityMNMConfig</code>
3419+
- <code title="post /accounts/{account_id}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">create</a>({ ...params }) -> MagicVisibilityMNMConfig</code>
3420+
- <code title="put /accounts/{account_id}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">update</a>({ ...params }) -> MagicVisibilityMNMConfig</code>
3421+
- <code title="delete /accounts/{account_id}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">delete</a>({ ...params }) -> MagicVisibilityMNMConfig</code>
3422+
- <code title="patch /accounts/{account_id}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">edit</a>({ ...params }) -> MagicVisibilityMNMConfig</code>
3423+
- <code title="get /accounts/{account_id}/mnm/config">client.magicNetworkMonitoring.configs.<a href="./src/resources/magic-network-monitoring/configs/configs.ts">get</a>({ ...params }) -> MagicVisibilityMNMConfig</code>
34063424

34073425
### Full
34083426

34093427
Methods:
34103428

3411-
- <code title="get /accounts/{account_identifier}/mnm/config/full">client.magicNetworkMonitoring.configs.full.<a href="./src/resources/magic-network-monitoring/configs/full.ts">get</a>(accountIdentifier) -> MagicVisibilityMNMConfig</code>
3429+
- <code title="get /accounts/{account_id}/mnm/config/full">client.magicNetworkMonitoring.configs.full.<a href="./src/resources/magic-network-monitoring/configs/full.ts">get</a>({ ...params }) -> MagicVisibilityMNMConfig</code>
34123430

34133431
## Rules
34143432

@@ -3419,12 +3437,12 @@ Types:
34193437

34203438
Methods:
34213439

3422-
- <code title="post /accounts/{account_identifier}/mnm/rules">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">create</a>(accountIdentifier) -> MagicVisibilityMNMRule | null</code>
3423-
- <code title="put /accounts/{account_identifier}/mnm/rules">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">update</a>(accountIdentifier) -> MagicVisibilityMNMRule | null</code>
3424-
- <code title="get /accounts/{account_identifier}/mnm/rules">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">list</a>(accountIdentifier) -> RuleListResponse | null</code>
3425-
- <code title="delete /accounts/{account_identifier}/mnm/rules/{rule_identifier}">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">delete</a>(accountIdentifier, ruleIdentifier) -> MagicVisibilityMNMRule | null</code>
3426-
- <code title="patch /accounts/{account_identifier}/mnm/rules/{rule_identifier}">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">edit</a>(accountIdentifier, ruleIdentifier) -> MagicVisibilityMNMRule | null</code>
3427-
- <code title="get /accounts/{account_identifier}/mnm/rules/{rule_identifier}">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">get</a>(accountIdentifier, ruleIdentifier) -> MagicVisibilityMNMRule | null</code>
3440+
- <code title="post /accounts/{account_id}/mnm/rules">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">create</a>({ ...params }) -> MagicVisibilityMNMRule | null</code>
3441+
- <code title="put /accounts/{account_id}/mnm/rules">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">update</a>({ ...params }) -> MagicVisibilityMNMRule | null</code>
3442+
- <code title="get /accounts/{account_id}/mnm/rules">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">list</a>({ ...params }) -> RuleListResponse | null</code>
3443+
- <code title="delete /accounts/{account_id}/mnm/rules/{rule_id}">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">delete</a>(ruleId, { ...params }) -> MagicVisibilityMNMRule | null</code>
3444+
- <code title="patch /accounts/{account_id}/mnm/rules/{rule_id}">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">edit</a>(ruleId, { ...params }) -> MagicVisibilityMNMRule | null</code>
3445+
- <code title="get /accounts/{account_id}/mnm/rules/{rule_id}">client.magicNetworkMonitoring.rules.<a href="./src/resources/magic-network-monitoring/rules/rules.ts">get</a>(ruleId, { ...params }) -> MagicVisibilityMNMRule | null</code>
34283446

34293447
### Advertisements
34303448

@@ -3434,7 +3452,7 @@ Types:
34343452

34353453
Methods:
34363454

3437-
- <code title="patch /accounts/{account_identifier}/mnm/rules/{rule_identifier}/advertisement">client.magicNetworkMonitoring.rules.advertisements.<a href="./src/resources/magic-network-monitoring/rules/advertisements.ts">edit</a>(accountIdentifier, ruleIdentifier) -> MagicVisibilityMNMRuleAdvertisable | null</code>
3455+
- <code title="patch /accounts/{account_id}/mnm/rules/{rule_id}/advertisement">client.magicNetworkMonitoring.rules.advertisements.<a href="./src/resources/magic-network-monitoring/rules/advertisements.ts">edit</a>(ruleId, { ...params }) -> MagicVisibilityMNMRuleAdvertisable | null</code>
34383456

34393457
# MTLSCertificates
34403458

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "cloudflare",
3-
"version": "3.0.0-beta.9",
3+
"version": "3.0.0-beta.10",
44
"description": "The official TypeScript library for the Cloudflare API",
55
"author": "Cloudflare <[email protected]>",
66
"types": "dist/index.d.ts",

src/core.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1059,7 +1059,7 @@ function applyHeadersMut(targetHeaders: Headers, newHeaders: Headers): void {
10591059
}
10601060

10611061
export function debug(action: string, ...args: any[]) {
1062-
if (typeof process !== 'undefined' && process.env['DEBUG'] === 'true') {
1062+
if (typeof process !== 'undefined' && process?.env?.['DEBUG'] === 'true') {
10631063
console.log(`Cloudflare:DEBUG:${action}`, ...args);
10641064
}
10651065
}

src/error.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
import { castToError, Headers } from './core';
4+
import * as Shared from 'cloudflare/resources/shared';
45

56
export class CloudflareError extends Error {}
67

@@ -9,6 +10,8 @@ export class APIError extends CloudflareError {
910
readonly headers: Headers | undefined;
1011
readonly error: Object | undefined;
1112

13+
readonly errors: Array<Shared.ErrorData>;
14+
1215
constructor(
1316
status: number | undefined,
1417
error: Object | undefined,
@@ -18,7 +21,10 @@ export class APIError extends CloudflareError {
1821
super(`${APIError.makeMessage(status, error, message)}`);
1922
this.status = status;
2023
this.headers = headers;
21-
this.error = error;
24+
25+
const data = error as Record<string, any>;
26+
this.error = data;
27+
this.errors = data?.['errors'] ?? [];
2228
}
2329

2430
private static makeMessage(status: number | undefined, error: any, message: string | undefined) {

0 commit comments

Comments
 (0)