@gitbeaker/rest 39.0.0 → 39.1.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/dist/index.js CHANGED
@@ -65,7 +65,7 @@ async function parseResponse(response, asStream = false) {
65
65
  }
66
66
  return { body, headers, status };
67
67
  }
68
- async function throwFailedRequestError(response) {
68
+ async function throwFailedRequestError(request, response) {
69
69
  const content = await response.text();
70
70
  const contentType = response.headers.get("Content-Type");
71
71
  let description = "API Request Error";
@@ -78,6 +78,7 @@ async function throwFailedRequestError(response) {
78
78
  throw new Error(response.statusText, {
79
79
  cause: {
80
80
  description,
81
+ request,
81
82
  response
82
83
  }
83
84
  });
@@ -98,7 +99,8 @@ async function defaultRequestHandler(endpoint, options) {
98
99
  url.search = searchParams || "";
99
100
  const mode = getConditionalMode(endpoint);
100
101
  for (let i = 0; i < maxRetries; i += 1) {
101
- const response = await fetch(url, { ...opts, mode }).catch((e) => {
102
+ const request = new Request(url, { ...opts, mode });
103
+ const response = await fetch(request).catch((e) => {
102
104
  if (e.name === "TimeoutError" || e.name === "AbortError") {
103
105
  throw new Error("Query timeout was reached");
104
106
  }
@@ -107,11 +109,13 @@ async function defaultRequestHandler(endpoint, options) {
107
109
  if (response.ok)
108
110
  return parseResponse(response, asStream);
109
111
  if (!retryCodes.includes(response.status))
110
- await throwFailedRequestError(response);
111
- await delay(2 ** i * 0.1);
112
+ await throwFailedRequestError(request, response);
113
+ await delay(2 ** i * 0.25);
112
114
  continue;
113
115
  }
114
- throw new Error("Could not successfully complete this request");
116
+ throw new Error(
117
+ `Could not successfully complete this request due to Error 429. Check the applicable rate limits for this endpoint.`
118
+ );
115
119
  }
116
120
  var requesterFn = requesterUtils.createRequesterFn(defaultOptionsHandler, defaultRequestHandler);
117
121
 
package/dist/index.mjs CHANGED
@@ -43,7 +43,7 @@ async function parseResponse(response, asStream = false) {
43
43
  }
44
44
  return { body, headers, status };
45
45
  }
46
- async function throwFailedRequestError(response) {
46
+ async function throwFailedRequestError(request, response) {
47
47
  const content = await response.text();
48
48
  const contentType = response.headers.get("Content-Type");
49
49
  let description = "API Request Error";
@@ -56,6 +56,7 @@ async function throwFailedRequestError(response) {
56
56
  throw new Error(response.statusText, {
57
57
  cause: {
58
58
  description,
59
+ request,
59
60
  response
60
61
  }
61
62
  });
@@ -76,7 +77,8 @@ async function defaultRequestHandler(endpoint, options) {
76
77
  url.search = searchParams || "";
77
78
  const mode = getConditionalMode(endpoint);
78
79
  for (let i = 0; i < maxRetries; i += 1) {
79
- const response = await fetch(url, { ...opts, mode }).catch((e) => {
80
+ const request = new Request(url, { ...opts, mode });
81
+ const response = await fetch(request).catch((e) => {
80
82
  if (e.name === "TimeoutError" || e.name === "AbortError") {
81
83
  throw new Error("Query timeout was reached");
82
84
  }
@@ -85,11 +87,13 @@ async function defaultRequestHandler(endpoint, options) {
85
87
  if (response.ok)
86
88
  return parseResponse(response, asStream);
87
89
  if (!retryCodes.includes(response.status))
88
- await throwFailedRequestError(response);
89
- await delay(2 ** i * 0.1);
90
+ await throwFailedRequestError(request, response);
91
+ await delay(2 ** i * 0.25);
90
92
  continue;
91
93
  }
92
- throw new Error("Could not successfully complete this request");
94
+ throw new Error(
95
+ `Could not successfully complete this request due to Error 429. Check the applicable rate limits for this endpoint.`
96
+ );
93
97
  }
94
98
  var requesterFn = createRequesterFn(defaultOptionsHandler, defaultRequestHandler);
95
99
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitbeaker/rest",
3
- "version": "39.0.0",
3
+ "version": "39.1.1",
4
4
  "description": "Cross Platform implementation of the GitLab API",
5
5
  "license": "MIT",
6
6
  "engines": {
@@ -56,8 +56,8 @@
56
56
  "release": "auto shipit"
57
57
  },
58
58
  "dependencies": {
59
- "@gitbeaker/core": "^39.0.0",
60
- "@gitbeaker/requester-utils": "^39.0.0"
59
+ "@gitbeaker/core": "^39.1.1",
60
+ "@gitbeaker/requester-utils": "^39.1.1"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@playwright/test": "^1.33.0",
@@ -66,5 +66,5 @@
66
66
  "tsup": "^6.7.0",
67
67
  "typescript": "^5.0.4"
68
68
  },
69
- "gitHead": "31cf840beb5b5106867ea82ec9b063cef97a1e2c"
69
+ "gitHead": "cad136a360a24c553c59662aacc321f44fd53d64"
70
70
  }