@kontent-ai/core-sdk 11.0.1 → 11.0.2

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.
@@ -3,154 +3,174 @@ import { isNotUndefined } from "../utils/core.utils.js";
3
3
  import { getErrorMessage } from "../utils/error.utils.js";
4
4
  import { getSdkIdHeader } from "../utils/header.utils.js";
5
5
  import { runWithRetryAsync, toRequiredRetryStrategyOptions } from "../utils/retry.utils.js";
6
- import { tryCatch } from "../utils/try.utils.js";
6
+ import { tryCatch, tryCatchAsync } from "../utils/try.utils.js";
7
7
  import { getDefaultHttpAdapter } from "./http.adapter.js";
8
8
  export function getDefaultHttpService(config) {
9
- const resolveRequestAsync = async ({ options, resolveDataAsync, }) => {
10
- const adapter = config?.adapter ?? getDefaultHttpAdapter();
11
- const getCombinedRequestHeaders = () => {
12
- return getRequestHeaders([...(config?.requestHeaders ?? []), ...(options.requestHeaders ?? [])], options.body);
9
+ const withUnknownErrorHandlingAsync = async ({ url, funcAsync, }) => {
10
+ const { success, data, error } = await tryCatchAsync(funcAsync);
11
+ if (success) {
12
+ return data;
13
+ }
14
+ return {
15
+ success: false,
16
+ error: {
17
+ reason: "unknown",
18
+ message: "Unknown error. See the error object for more details.",
19
+ url: url,
20
+ originalError: error,
21
+ },
13
22
  };
14
- const getRequestBody = () => {
15
- if (options.body === null) {
16
- return {
17
- success: true,
18
- data: null,
23
+ };
24
+ const resolveRequestAsync = async ({ options, resolveDataAsync, }) => {
25
+ return await withUnknownErrorHandlingAsync({
26
+ url: options.url,
27
+ funcAsync: async () => {
28
+ const adapter = config?.adapter ?? getDefaultHttpAdapter();
29
+ const getCombinedRequestHeaders = () => {
30
+ return getRequestHeaders([...(config?.requestHeaders ?? []), ...(options.requestHeaders ?? [])], options.body);
19
31
  };
20
- }
21
- if (options.body instanceof Blob) {
22
- return {
23
- success: true,
24
- data: options.body,
32
+ const getRequestBody = () => {
33
+ if (options.body === null) {
34
+ return {
35
+ success: true,
36
+ data: null,
37
+ };
38
+ }
39
+ if (options.body instanceof Blob) {
40
+ return {
41
+ success: true,
42
+ data: options.body,
43
+ };
44
+ }
45
+ const { success, data: parsedBody, error } = tryCatch(() => JSON.stringify(options.body));
46
+ if (!success) {
47
+ return {
48
+ success: false,
49
+ error: {
50
+ message: "Failed to stringify body of request.",
51
+ url: options.url,
52
+ reason: "invalidBody",
53
+ originalError: error,
54
+ },
55
+ };
56
+ }
57
+ return {
58
+ success: true,
59
+ data: parsedBody,
60
+ };
25
61
  };
26
- }
27
- const { success, data: parsedBody, error } = tryCatch(() => JSON.stringify(options.body));
28
- if (!success) {
29
- return {
30
- success: false,
31
- error: {
32
- message: "Failed to stringify body of request.",
33
- url: options.url,
34
- reason: "invalidBody",
35
- error: error,
36
- },
62
+ const getUrl = () => {
63
+ const { success, data: parsedUrl, error } = tryCatch(() => new URL(options.url));
64
+ if (!success) {
65
+ return {
66
+ success: false,
67
+ error: {
68
+ message: `Failed to parse url '${options.url}'.`,
69
+ url: options.url,
70
+ reason: "invalidUrl",
71
+ originalError: error,
72
+ },
73
+ };
74
+ }
75
+ return {
76
+ success: true,
77
+ data: parsedUrl,
78
+ };
37
79
  };
38
- }
39
- return {
40
- success: true,
41
- data: parsedBody,
42
- };
43
- };
44
- const getUrl = () => {
45
- const { success, data: parsedUrl, error } = tryCatch(() => new URL(options.url));
46
- if (!success) {
47
- return {
48
- success: false,
49
- error: {
50
- message: `Failed to parse url '${options.url}'.`,
80
+ const requestHeaders = getCombinedRequestHeaders();
81
+ const retryStrategyOptions = toRequiredRetryStrategyOptions(config?.retryStrategy);
82
+ const withRetryAsync = async (funcAsync) => {
83
+ return await runWithRetryAsync({
51
84
  url: options.url,
52
- reason: "invalidUrl",
53
- error,
54
- },
85
+ retryStrategyOptions,
86
+ retryAttempt: 0,
87
+ requestHeaders,
88
+ method: options.method,
89
+ funcAsync: async () => {
90
+ return await funcAsync();
91
+ },
92
+ });
55
93
  };
56
- }
57
- return {
58
- success: true,
59
- data: parsedUrl,
60
- };
61
- };
62
- const requestHeaders = getCombinedRequestHeaders();
63
- const retryStrategyOptions = toRequiredRetryStrategyOptions(config?.retryStrategy);
64
- const withRetryAsync = async (funcAsync) => {
65
- return await runWithRetryAsync({
66
- url: options.url,
67
- retryStrategyOptions,
68
- retryAttempt: 0,
69
- requestHeaders,
70
- method: options.method,
71
- funcAsync: async () => {
72
- return await funcAsync();
73
- },
74
- });
75
- };
76
- const { success: urlParsedSuccess, data: parsedUrl, error: urlError } = getUrl();
77
- if (!urlParsedSuccess) {
78
- return {
79
- success: false,
80
- error: urlError,
81
- };
82
- }
83
- const { success: requestBodyParsedSuccess, data: requestBody, error: requestBodyError } = getRequestBody();
84
- if (!requestBodyParsedSuccess) {
85
- return {
86
- success: false,
87
- error: requestBodyError,
88
- };
89
- }
90
- const getResponseAsync = async () => {
91
- return await adapter.requestAsync({
92
- url: parsedUrl.toString(),
93
- method: options.method,
94
- requestHeaders,
95
- body: requestBody,
96
- });
97
- };
98
- const getErrorForInvalidResponseAsync = async (response) => {
99
- const sharedErrorData = {
100
- message: getErrorMessage({
101
- url: options.url,
102
- adapterResponse: response,
103
- method: options.method,
104
- }),
105
- url: options.url,
106
- };
107
- if (response.status === 404) {
108
- const error = {
109
- ...sharedErrorData,
110
- reason: "notFound",
111
- isValidResponse: response.isValidResponse,
112
- responseHeaders: response.responseHeaders,
113
- status: 404,
114
- statusText: response.statusText,
115
- kontentErrorResponse: await getKontentErrorDataAsync(response),
94
+ const { success: urlParsedSuccess, data: parsedUrl, error: urlError } = getUrl();
95
+ if (!urlParsedSuccess) {
96
+ return {
97
+ success: false,
98
+ error: urlError,
99
+ };
100
+ }
101
+ const { success: requestBodyParsedSuccess, data: requestBody, error: requestBodyError } = getRequestBody();
102
+ if (!requestBodyParsedSuccess) {
103
+ return {
104
+ success: false,
105
+ error: requestBodyError,
106
+ };
107
+ }
108
+ const getResponseAsync = async () => {
109
+ return await adapter.requestAsync({
110
+ url: parsedUrl.toString(),
111
+ method: options.method,
112
+ requestHeaders,
113
+ body: requestBody,
114
+ });
116
115
  };
117
- return error;
118
- }
119
- const error = {
120
- ...sharedErrorData,
121
- reason: "invalidResponse",
122
- isValidResponse: response.isValidResponse,
123
- responseHeaders: response.responseHeaders,
124
- status: response.status,
125
- statusText: response.statusText,
126
- kontentErrorResponse: await getKontentErrorDataAsync(response),
127
- };
128
- return error;
129
- };
130
- const resolveResponseAsync = async (response) => {
131
- if (!response.isValidResponse) {
132
- return {
133
- success: false,
134
- error: await getErrorForInvalidResponseAsync(response),
135
- };
136
- }
137
- return {
138
- success: true,
139
- response: {
140
- data: await resolveDataAsync(response),
141
- body: options.body,
142
- method: options.method,
143
- adapterResponse: {
116
+ const getErrorForInvalidResponseAsync = async (response) => {
117
+ const sharedErrorData = {
118
+ message: getErrorMessage({
119
+ url: options.url,
120
+ adapterResponse: response,
121
+ method: options.method,
122
+ }),
123
+ url: options.url,
124
+ };
125
+ if (response.status === 404) {
126
+ const error = {
127
+ ...sharedErrorData,
128
+ reason: "notFound",
129
+ isValidResponse: response.isValidResponse,
130
+ responseHeaders: response.responseHeaders,
131
+ status: 404,
132
+ statusText: response.statusText,
133
+ kontentErrorResponse: await getKontentErrorDataAsync(response),
134
+ };
135
+ return error;
136
+ }
137
+ const error = {
138
+ ...sharedErrorData,
139
+ reason: "invalidResponse",
144
140
  isValidResponse: response.isValidResponse,
145
141
  responseHeaders: response.responseHeaders,
146
142
  status: response.status,
147
143
  statusText: response.statusText,
148
- },
149
- requestHeaders: requestHeaders,
150
- },
151
- };
152
- };
153
- return await withRetryAsync(async () => await resolveResponseAsync(await getResponseAsync()));
144
+ kontentErrorResponse: await getKontentErrorDataAsync(response),
145
+ };
146
+ return error;
147
+ };
148
+ const resolveResponseAsync = async (response) => {
149
+ if (!response.isValidResponse) {
150
+ return {
151
+ success: false,
152
+ error: await getErrorForInvalidResponseAsync(response),
153
+ };
154
+ }
155
+ return {
156
+ success: true,
157
+ response: {
158
+ data: await resolveDataAsync(response),
159
+ body: options.body,
160
+ method: options.method,
161
+ adapterResponse: {
162
+ isValidResponse: response.isValidResponse,
163
+ responseHeaders: response.responseHeaders,
164
+ status: response.status,
165
+ statusText: response.statusText,
166
+ },
167
+ requestHeaders: requestHeaders,
168
+ },
169
+ };
170
+ };
171
+ return await withRetryAsync(async () => await resolveResponseAsync(await getResponseAsync()));
172
+ },
173
+ });
154
174
  };
155
175
  return {
156
176
  requestAsync: async (options) => {
@@ -1 +1 @@
1
- {"version":3,"file":"http.service.js","sourceRoot":"","sources":["../../lib/http/http.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.service.js","sourceRoot":"","sources":["../../lib/http/http.service.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,11 @@ export type CoreSdkErrorDetails<TReason extends ErrorReason = ErrorReason> = (De
6
6
  } & Pick<AdapterResponse<HttpServiceStatus>, "isValidResponse" | "responseHeaders" | "status" | "statusText">> | Details<"notFound", {
7
7
  readonly kontentErrorResponse: KontentErrorResponseData | undefined;
8
8
  } & Pick<AdapterResponse<404>, "isValidResponse" | "responseHeaders" | "status" | "statusText">> | Details<"invalidBody", {
9
- readonly error: unknown;
9
+ readonly originalError: unknown;
10
10
  }> | Details<"invalidUrl", {
11
- readonly error: unknown;
11
+ readonly originalError: unknown;
12
12
  }> | Details<"unknown", {
13
- readonly error: unknown;
13
+ readonly originalError: unknown;
14
14
  }>) & {
15
15
  readonly reason: TReason;
16
16
  };
@@ -5,7 +5,7 @@ export { toRequiredRetryStrategyOptions } from "./utils/retry.utils.js";
5
5
  export { tryCatch, tryCatchAsync } from "./utils/try.utils.js";
6
6
  export { isKontent404Error } from "./utils/error.utils.js";
7
7
  export type { AdapterRequestOptions, AdapterResponse, DefaultHttpServiceConfig, DownloadFileRequestOptions, ExecuteRequestOptions, HttpAdapter, HttpResponse, HttpService, HttpServiceStatus, UploadFileRequestOptions, } from "./http/http.models.js";
8
- export type { Header, HttpMethod, RetryStrategyOptions, SDKInfo, } from "./models/core.models.js";
8
+ export type { Header, HttpMethod, RetryStrategyOptions, SDKInfo, CommonHeaderNames, } from "./models/core.models.js";
9
9
  export type { CoreSdkError, ErrorReason, CoreSdkErrorDetails, } from "./models/error.models.js";
10
10
  export type { JsonArray, JsonObject, JsonValue } from "./models/json.models.js";
11
11
  export type { EmptyObject, Override, Prettify } from "./models/utility.models.js";
package/dist/sdk-info.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export const sdkInfo = {
2
2
  host: "npmjs.com",
3
- version: "11.0.1",
3
+ version: "11.0.2",
4
4
  name: "@kontent-ai/core-sdk",
5
5
  };
6
6
  //# sourceMappingURL=sdk-info.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.utils.js","sourceRoot":"","sources":["../../lib/utils/header.utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,IAAa;IAC3C,OAAO;QACN,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;KAClD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA0B;IAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC;IAE7G,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAE5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,KAAK;KACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA0B;IACxD,OAAO,OAAO,CAAC,MAAM,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IAChB,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"header.utils.js","sourceRoot":"","sources":["../../lib/utils/header.utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,CAAC,IAAa;IAC3C,OAAO;QACN,IAAI,EAAE,YAAwC;QAC9C,KAAK,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;KAClD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,OAA0B;IAClE,MAAM,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAM,aAA0C,CAAC,WAAW,EAAE,CAAC,CAAC;IAE3I,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,KAAK,CAAC;IAE5C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAgB;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,KAAK;KACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAA0B;IACxD,OAAO,OAAO,CAAC,MAAM,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAClD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IAChB,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC;AACnB,CAAC"}
@@ -6,7 +6,7 @@ import { isNotUndefined } from "../utils/core.utils.js";
6
6
  import { getErrorMessage } from "../utils/error.utils.js";
7
7
  import { getSdkIdHeader } from "../utils/header.utils.js";
8
8
  import { runWithRetryAsync, toRequiredRetryStrategyOptions } from "../utils/retry.utils.js";
9
- import { type Result, tryCatch } from "../utils/try.utils.js";
9
+ import { type Result, tryCatch, tryCatchAsync } from "../utils/try.utils.js";
10
10
  import { getDefaultHttpAdapter } from "./http.adapter.js";
11
11
  import type {
12
12
  AdapterResponse,
@@ -19,6 +19,29 @@ import type {
19
19
  } from "./http.models.js";
20
20
 
21
21
  export function getDefaultHttpService(config?: DefaultHttpServiceConfig): HttpService {
22
+ const withUnknownErrorHandlingAsync = async <TResponseData extends JsonValue | Blob, TBodyData extends JsonValue | Blob>({
23
+ url,
24
+ funcAsync,
25
+ }: { readonly url: string; readonly funcAsync: () => Promise<HttpResponse<TResponseData, TBodyData>> }): Promise<
26
+ HttpResponse<TResponseData, TBodyData>
27
+ > => {
28
+ const { success, data, error } = await tryCatchAsync(funcAsync);
29
+
30
+ if (success) {
31
+ return data;
32
+ }
33
+
34
+ return {
35
+ success: false,
36
+ error: {
37
+ reason: "unknown",
38
+ message: "Unknown error. See the error object for more details.",
39
+ url: url,
40
+ originalError: error,
41
+ },
42
+ };
43
+ };
44
+
22
45
  const resolveRequestAsync = async <TResponseData extends JsonValue | Blob, TBodyData extends JsonValue | Blob>({
23
46
  options,
24
47
  resolveDataAsync,
@@ -26,174 +49,181 @@ export function getDefaultHttpService(config?: DefaultHttpServiceConfig): HttpSe
26
49
  readonly options: ExecuteRequestOptions<TBodyData>;
27
50
  readonly resolveDataAsync: (response: AdapterResponse) => Promise<TResponseData>;
28
51
  }): Promise<HttpResponse<TResponseData, TBodyData>> => {
29
- const adapter = config?.adapter ?? getDefaultHttpAdapter();
52
+ return await withUnknownErrorHandlingAsync({
53
+ url: options.url,
54
+ funcAsync: async () => {
55
+ const adapter = config?.adapter ?? getDefaultHttpAdapter();
30
56
 
31
- const getCombinedRequestHeaders = (): readonly Header[] => {
32
- return getRequestHeaders([...(config?.requestHeaders ?? []), ...(options.requestHeaders ?? [])], options.body);
33
- };
34
-
35
- const getRequestBody = (): Result<string | Blob | null, CoreSdkError> => {
36
- if (options.body === null) {
37
- return {
38
- success: true,
39
- data: null,
57
+ const getCombinedRequestHeaders = (): readonly Header[] => {
58
+ return getRequestHeaders([...(config?.requestHeaders ?? []), ...(options.requestHeaders ?? [])], options.body);
40
59
  };
41
- }
42
60
 
43
- if (options.body instanceof Blob) {
44
- return {
45
- success: true,
46
- data: options.body,
61
+ const getRequestBody = (): Result<string | Blob | null, CoreSdkError> => {
62
+ if (options.body === null) {
63
+ return {
64
+ success: true,
65
+ data: null,
66
+ };
67
+ }
68
+
69
+ if (options.body instanceof Blob) {
70
+ return {
71
+ success: true,
72
+ data: options.body,
73
+ };
74
+ }
75
+
76
+ const { success, data: parsedBody, error } = tryCatch(() => JSON.stringify(options.body));
77
+
78
+ if (!success) {
79
+ return {
80
+ success: false,
81
+ error: {
82
+ message: "Failed to stringify body of request.",
83
+ url: options.url,
84
+ reason: "invalidBody",
85
+ originalError: error,
86
+ },
87
+ };
88
+ }
89
+
90
+ return {
91
+ success: true,
92
+ data: parsedBody,
93
+ };
47
94
  };
48
- }
49
-
50
- const { success, data: parsedBody, error } = tryCatch(() => JSON.stringify(options.body));
51
95
 
52
- if (!success) {
53
- return {
54
- success: false,
55
- error: {
56
- message: "Failed to stringify body of request.",
57
- url: options.url,
58
- reason: "invalidBody",
59
- error: error,
60
- },
96
+ const getUrl = (): Result<URL, CoreSdkError> => {
97
+ const { success, data: parsedUrl, error } = tryCatch(() => new URL(options.url));
98
+
99
+ if (!success) {
100
+ return {
101
+ success: false,
102
+ error: {
103
+ message: `Failed to parse url '${options.url}'.`,
104
+ url: options.url,
105
+ reason: "invalidUrl",
106
+ originalError: error,
107
+ },
108
+ };
109
+ }
110
+
111
+ return {
112
+ success: true,
113
+ data: parsedUrl,
114
+ };
61
115
  };
62
- }
63
-
64
- return {
65
- success: true,
66
- data: parsedBody,
67
- };
68
- };
69
116
 
70
- const getUrl = (): Result<URL, CoreSdkError> => {
71
- const { success, data: parsedUrl, error } = tryCatch(() => new URL(options.url));
117
+ const requestHeaders = getCombinedRequestHeaders();
118
+ const retryStrategyOptions: Required<RetryStrategyOptions> = toRequiredRetryStrategyOptions(config?.retryStrategy);
72
119
 
73
- if (!success) {
74
- return {
75
- success: false,
76
- error: {
77
- message: `Failed to parse url '${options.url}'.`,
120
+ const withRetryAsync = async (
121
+ funcAsync: () => Promise<HttpResponse<TResponseData, TBodyData>>,
122
+ ): Promise<HttpResponse<TResponseData, TBodyData>> => {
123
+ return await runWithRetryAsync({
78
124
  url: options.url,
79
- reason: "invalidUrl",
80
- error,
81
- },
125
+ retryStrategyOptions,
126
+ retryAttempt: 0,
127
+ requestHeaders,
128
+ method: options.method,
129
+ funcAsync: async () => {
130
+ return await funcAsync();
131
+ },
132
+ });
82
133
  };
83
- }
84
-
85
- return {
86
- success: true,
87
- data: parsedUrl,
88
- };
89
- };
90
-
91
- const requestHeaders = getCombinedRequestHeaders();
92
- const retryStrategyOptions: Required<RetryStrategyOptions> = toRequiredRetryStrategyOptions(config?.retryStrategy);
93
-
94
- const withRetryAsync = async (funcAsync: () => Promise<HttpResponse<TResponseData, TBodyData>>): Promise<HttpResponse<TResponseData, TBodyData>> => {
95
- return await runWithRetryAsync({
96
- url: options.url,
97
- retryStrategyOptions,
98
- retryAttempt: 0,
99
- requestHeaders,
100
- method: options.method,
101
- funcAsync: async () => {
102
- return await funcAsync();
103
- },
104
- });
105
- };
106
-
107
- const { success: urlParsedSuccess, data: parsedUrl, error: urlError } = getUrl();
108
-
109
- if (!urlParsedSuccess) {
110
- return {
111
- success: false,
112
- error: urlError,
113
- };
114
- }
115
134
 
116
- const { success: requestBodyParsedSuccess, data: requestBody, error: requestBodyError } = getRequestBody();
135
+ const { success: urlParsedSuccess, data: parsedUrl, error: urlError } = getUrl();
117
136
 
118
- if (!requestBodyParsedSuccess) {
119
- return {
120
- success: false,
121
- error: requestBodyError,
122
- };
123
- }
137
+ if (!urlParsedSuccess) {
138
+ return {
139
+ success: false,
140
+ error: urlError,
141
+ };
142
+ }
124
143
 
125
- const getResponseAsync = async (): Promise<AdapterResponse> => {
126
- return await adapter.requestAsync({
127
- url: parsedUrl.toString(),
128
- method: options.method,
129
- requestHeaders,
130
- body: requestBody,
131
- });
132
- };
144
+ const { success: requestBodyParsedSuccess, data: requestBody, error: requestBodyError } = getRequestBody();
133
145
 
134
- const getErrorForInvalidResponseAsync = async (response: AdapterResponse): Promise<CoreSdkError> => {
135
- const sharedErrorData: Pick<CoreSdkError, "message" | "url"> = {
136
- message: getErrorMessage({
137
- url: options.url,
138
- adapterResponse: response,
139
- method: options.method,
140
- }),
141
- url: options.url,
142
- };
146
+ if (!requestBodyParsedSuccess) {
147
+ return {
148
+ success: false,
149
+ error: requestBodyError,
150
+ };
151
+ }
143
152
 
144
- if (response.status === 404) {
145
- const error: CoreSdkError<"notFound"> = {
146
- ...sharedErrorData,
147
- reason: "notFound",
148
- isValidResponse: response.isValidResponse,
149
- responseHeaders: response.responseHeaders,
150
- status: 404,
151
- statusText: response.statusText,
152
- kontentErrorResponse: await getKontentErrorDataAsync(response),
153
+ const getResponseAsync = async (): Promise<AdapterResponse> => {
154
+ return await adapter.requestAsync({
155
+ url: parsedUrl.toString(),
156
+ method: options.method,
157
+ requestHeaders,
158
+ body: requestBody,
159
+ });
153
160
  };
154
161
 
155
- return error;
156
- }
157
-
158
- const error: CoreSdkError<"invalidResponse"> = {
159
- ...sharedErrorData,
160
- reason: "invalidResponse",
161
- isValidResponse: response.isValidResponse,
162
- responseHeaders: response.responseHeaders,
163
- status: response.status,
164
- statusText: response.statusText,
165
- kontentErrorResponse: await getKontentErrorDataAsync(response),
166
- };
167
-
168
- return error;
169
- };
170
-
171
- const resolveResponseAsync = async (response: AdapterResponse): Promise<HttpResponse<TResponseData, TBodyData>> => {
172
- if (!response.isValidResponse) {
173
- return {
174
- success: false,
175
- error: await getErrorForInvalidResponseAsync(response),
176
- };
177
- }
178
-
179
- return {
180
- success: true,
181
- response: {
182
- data: await resolveDataAsync(response),
183
- body: options.body,
184
- method: options.method,
185
- adapterResponse: {
162
+ const getErrorForInvalidResponseAsync = async (response: AdapterResponse): Promise<CoreSdkError> => {
163
+ const sharedErrorData: Pick<CoreSdkError, "message" | "url"> = {
164
+ message: getErrorMessage({
165
+ url: options.url,
166
+ adapterResponse: response,
167
+ method: options.method,
168
+ }),
169
+ url: options.url,
170
+ };
171
+
172
+ if (response.status === 404) {
173
+ const error: CoreSdkError<"notFound"> = {
174
+ ...sharedErrorData,
175
+ reason: "notFound",
176
+ isValidResponse: response.isValidResponse,
177
+ responseHeaders: response.responseHeaders,
178
+ status: 404,
179
+ statusText: response.statusText,
180
+ kontentErrorResponse: await getKontentErrorDataAsync(response),
181
+ };
182
+
183
+ return error;
184
+ }
185
+
186
+ const error: CoreSdkError<"invalidResponse"> = {
187
+ ...sharedErrorData,
188
+ reason: "invalidResponse",
186
189
  isValidResponse: response.isValidResponse,
187
190
  responseHeaders: response.responseHeaders,
188
191
  status: response.status,
189
192
  statusText: response.statusText,
190
- },
191
- requestHeaders: requestHeaders,
192
- },
193
- };
194
- };
193
+ kontentErrorResponse: await getKontentErrorDataAsync(response),
194
+ };
195
+
196
+ return error;
197
+ };
198
+
199
+ const resolveResponseAsync = async (response: AdapterResponse): Promise<HttpResponse<TResponseData, TBodyData>> => {
200
+ if (!response.isValidResponse) {
201
+ return {
202
+ success: false,
203
+ error: await getErrorForInvalidResponseAsync(response),
204
+ };
205
+ }
206
+
207
+ return {
208
+ success: true,
209
+ response: {
210
+ data: await resolveDataAsync(response),
211
+ body: options.body,
212
+ method: options.method,
213
+ adapterResponse: {
214
+ isValidResponse: response.isValidResponse,
215
+ responseHeaders: response.responseHeaders,
216
+ status: response.status,
217
+ statusText: response.statusText,
218
+ },
219
+ requestHeaders: requestHeaders,
220
+ },
221
+ };
222
+ };
195
223
 
196
- return await withRetryAsync(async () => await resolveResponseAsync(await getResponseAsync()));
224
+ return await withRetryAsync(async () => await resolveResponseAsync(await getResponseAsync()));
225
+ },
226
+ });
197
227
  };
198
228
 
199
229
  return {
@@ -19,19 +19,19 @@ export type CoreSdkErrorDetails<TReason extends ErrorReason = ErrorReason> = (
19
19
  | Details<
20
20
  "invalidBody",
21
21
  {
22
- readonly error: unknown;
22
+ readonly originalError: unknown;
23
23
  }
24
24
  >
25
25
  | Details<
26
26
  "invalidUrl",
27
27
  {
28
- readonly error: unknown;
28
+ readonly originalError: unknown;
29
29
  }
30
30
  >
31
31
  | Details<
32
32
  "unknown",
33
33
  {
34
- readonly error: unknown;
34
+ readonly originalError: unknown;
35
35
  }
36
36
  >
37
37
  ) & {
package/lib/public_api.ts CHANGED
@@ -24,6 +24,7 @@ export type {
24
24
  HttpMethod,
25
25
  RetryStrategyOptions,
26
26
  SDKInfo,
27
+ CommonHeaderNames,
27
28
  } from "./models/core.models.js";
28
29
  export type {
29
30
  CoreSdkError,
@@ -1,14 +1,14 @@
1
- import type { Header, SDKInfo } from "../models/core.models.js";
1
+ import type { CommonHeaderNames, Header, SDKInfo } from "../models/core.models.js";
2
2
 
3
3
  export function getSdkIdHeader(info: SDKInfo): Header {
4
4
  return {
5
- name: "X-KC-SDKID",
5
+ name: "X-KC-SDKID" satisfies CommonHeaderNames,
6
6
  value: `${info.host};${info.name};${info.version}`,
7
7
  };
8
8
  }
9
9
 
10
10
  export function getRetryAfterHeaderValue(headers: readonly Header[]): number | undefined {
11
- const retryAfterHeader = headers.find((header) => header.name.toLowerCase() === "Retry-After".toLowerCase());
11
+ const retryAfterHeader = headers.find((header) => header.name.toLowerCase() === ("Retry-After" satisfies CommonHeaderNames).toLowerCase());
12
12
 
13
13
  if (!retryAfterHeader) {
14
14
  return undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kontent-ai/core-sdk",
3
- "version": "11.0.1",
3
+ "version": "11.0.2",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/kontent-ai/kontent-core-js"