@commercetools/ts-client 0.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +3 -0
- package/dist/commercetools-ts-client.browser.cjs.js +1534 -0
- package/dist/commercetools-ts-client.browser.esm.js +1512 -0
- package/dist/commercetools-ts-client.cjs.d.ts +1 -0
- package/dist/commercetools-ts-client.cjs.dev.js +1534 -0
- package/dist/commercetools-ts-client.cjs.js +7 -0
- package/dist/commercetools-ts-client.cjs.prod.js +1534 -0
- package/dist/commercetools-ts-client.esm.js +1512 -0
- package/dist/declarations/src/client/builder.d.ts +33 -0
- package/dist/declarations/src/client/client.d.ts +6 -0
- package/dist/declarations/src/client/index.d.ts +3 -0
- package/dist/declarations/src/index.d.ts +12 -0
- package/dist/declarations/src/middleware/auth-middleware/anonymous-session-flow.d.ts +2 -0
- package/dist/declarations/src/middleware/auth-middleware/auth-request-builder.d.ts +24 -0
- package/dist/declarations/src/middleware/auth-middleware/auth-request-executor.d.ts +2 -0
- package/dist/declarations/src/middleware/auth-middleware/client-credentials-flow.d.ts +2 -0
- package/dist/declarations/src/middleware/auth-middleware/existing-token-flow.d.ts +2 -0
- package/dist/declarations/src/middleware/auth-middleware/index.d.ts +6 -0
- package/dist/declarations/src/middleware/auth-middleware/password-flow.d.ts +2 -0
- package/dist/declarations/src/middleware/auth-middleware/refresh-token-flow.d.ts +2 -0
- package/dist/declarations/src/middleware/create-concurrent-modification-middleware.d.ts +2 -0
- package/dist/declarations/src/middleware/create-correlation-id-middleware.d.ts +2 -0
- package/dist/declarations/src/middleware/create-error-middleware.d.ts +2 -0
- package/dist/declarations/src/middleware/create-http-middleware.d.ts +2 -0
- package/dist/declarations/src/middleware/create-logger-middleware.d.ts +2 -0
- package/dist/declarations/src/middleware/create-queue-middleware.d.ts +2 -0
- package/dist/declarations/src/middleware/create-retry-middleware.d.ts +2 -0
- package/dist/declarations/src/middleware/create-user-agent-middleware.d.ts +2 -0
- package/dist/declarations/src/middleware/index.d.ts +9 -0
- package/dist/declarations/src/types/types.d.ts +336 -0
- package/dist/declarations/src/utils/constants.d.ts +5 -0
- package/dist/declarations/src/utils/executor.d.ts +2 -0
- package/dist/declarations/src/utils/generateID.d.ts +1 -0
- package/dist/declarations/src/utils/headers.d.ts +2 -0
- package/dist/declarations/src/utils/index.d.ts +16 -0
- package/dist/declarations/src/utils/isBuffer.d.ts +1 -0
- package/dist/declarations/src/utils/logger.d.ts +2 -0
- package/dist/declarations/src/utils/maskAuthData.d.ts +2 -0
- package/dist/declarations/src/utils/mergeAuthHeader.d.ts +2 -0
- package/dist/declarations/src/utils/methods.d.ts +2 -0
- package/dist/declarations/src/utils/retryDelay.d.ts +8 -0
- package/dist/declarations/src/utils/sleep.d.ts +1 -0
- package/dist/declarations/src/utils/tokenCacheKey.d.ts +2 -0
- package/dist/declarations/src/utils/tokenExpirationTime.d.ts +1 -0
- package/dist/declarations/src/utils/tokenStore.d.ts +2 -0
- package/dist/declarations/src/utils/userAgent.d.ts +2 -0
- package/dist/declarations/src/utils/validate.d.ts +30 -0
- package/package.json +62 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Client, AuthMiddlewareOptions, CorrelationIdMiddlewareOptions, Credentials, ExistingTokenMiddlewareOptions, HttpMiddlewareOptions, HttpUserAgentOptions, Middleware, PasswordAuthMiddlewareOptions, QueueMiddlewareOptions, RefreshAuthMiddlewareOptions, LoggerMiddlewareOptions, RetryMiddlewareOptions, ErrorMiddlewareOptions } from '../types/types';
|
|
2
|
+
export default class ClientBuilder {
|
|
3
|
+
private projectKey;
|
|
4
|
+
private authMiddleware;
|
|
5
|
+
private httpMiddleware;
|
|
6
|
+
private userAgentMiddleware;
|
|
7
|
+
private correlationIdMiddleware;
|
|
8
|
+
private loggerMiddleware;
|
|
9
|
+
private queueMiddleware;
|
|
10
|
+
private retryMiddleware;
|
|
11
|
+
private concurrentMiddleware;
|
|
12
|
+
private errorMiddleware;
|
|
13
|
+
private middlewares;
|
|
14
|
+
constructor();
|
|
15
|
+
withProjectKey(key: string): ClientBuilder;
|
|
16
|
+
defaultClient(baseUri: string, credentials: Credentials, oauthUri?: string, projectKey?: string, scopes?: Array<string>, httpClient?: Function): ClientBuilder;
|
|
17
|
+
private withAuthMiddleware;
|
|
18
|
+
withMiddleware(middleware: Middleware): ClientBuilder;
|
|
19
|
+
withClientCredentialsFlow(options: AuthMiddlewareOptions): ClientBuilder;
|
|
20
|
+
withPasswordFlow(options: PasswordAuthMiddlewareOptions): ClientBuilder;
|
|
21
|
+
withAnonymousSessionFlow(options: AuthMiddlewareOptions): ClientBuilder;
|
|
22
|
+
withRefreshTokenFlow(options: RefreshAuthMiddlewareOptions): ClientBuilder;
|
|
23
|
+
withRetryMiddleware(options: RetryMiddlewareOptions): ClientBuilder;
|
|
24
|
+
withExistingTokenFlow(authorization: string, options?: ExistingTokenMiddlewareOptions): ClientBuilder;
|
|
25
|
+
withHttpMiddleware(options: HttpMiddlewareOptions): ClientBuilder;
|
|
26
|
+
withUserAgentMiddleware(options?: HttpUserAgentOptions): ClientBuilder;
|
|
27
|
+
withQueueMiddleware(options?: QueueMiddlewareOptions): ClientBuilder;
|
|
28
|
+
withLoggerMiddleware(options?: LoggerMiddlewareOptions): this;
|
|
29
|
+
withCorrelationIdMiddleware(options?: CorrelationIdMiddlewareOptions): ClientBuilder;
|
|
30
|
+
withConcurrentModificationMiddleware(): ClientBuilder;
|
|
31
|
+
withErrorMiddleware(options?: ErrorMiddlewareOptions): ClientBuilder;
|
|
32
|
+
build(): Client;
|
|
33
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ClientResult, ClientRequest, ClientOptions, ProcessFn, ProcessOptions } from '../types/types';
|
|
2
|
+
export declare function process(request: ClientRequest, fn: ProcessFn, processOpt?: ProcessOptions): Promise<Array<ClientRequest>>;
|
|
3
|
+
export default function createClient(middlewares: ClientOptions): {
|
|
4
|
+
process: typeof process;
|
|
5
|
+
execute(request: ClientRequest): Promise<ClientResult>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { ClientBuilder, createClient, Process } from './client';
|
|
2
|
+
export { createAuthMiddlewareForAnonymousSessionFlow } from './middleware';
|
|
3
|
+
export { createAuthMiddlewareForClientCredentialsFlow } from './middleware';
|
|
4
|
+
export { createAuthMiddlewareForExistingTokenFlow } from './middleware';
|
|
5
|
+
export { createAuthMiddlewareForPasswordFlow } from './middleware';
|
|
6
|
+
export { createAuthMiddlewareForRefreshTokenFlow } from './middleware';
|
|
7
|
+
export { createCorrelationIdMiddleware } from './middleware';
|
|
8
|
+
export { createHttpMiddleware } from './middleware';
|
|
9
|
+
export { createLoggerMiddleware } from './middleware';
|
|
10
|
+
export { createQueueMiddleware } from './middleware';
|
|
11
|
+
export { createUserAgentMiddleware } from './middleware';
|
|
12
|
+
export * from './types/types.d';
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IBuiltRequestParams, AuthMiddlewareOptions, RefreshAuthMiddlewareOptions, PasswordAuthMiddlewareOptions } from '../../types/types';
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param {AuthMiddlewareOptions} options
|
|
5
|
+
* @returns { IBuiltRequestParams } *
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildRequestForClientCredentialsFlow(options: AuthMiddlewareOptions): IBuiltRequestParams;
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param {AuthMiddlewareOptions} options
|
|
11
|
+
* @returns {IBuiltRequestParams} *
|
|
12
|
+
*/
|
|
13
|
+
export declare function buildRequestForAnonymousSessionFlow(options: AuthMiddlewareOptions): IBuiltRequestParams;
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param {RefreshAuthMiddlewareOptions} options
|
|
17
|
+
* @returns {IBuiltRequestParams}
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildRequestForRefreshTokenFlow(options: RefreshAuthMiddlewareOptions): IBuiltRequestParams;
|
|
20
|
+
/**
|
|
21
|
+
* @param {PasswordAuthMiddlewareOptions} options
|
|
22
|
+
* @returns {IBuiltRequestParams}
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildRequestForPasswordFlow(options: PasswordAuthMiddlewareOptions): IBuiltRequestParams;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import createAuthMiddlewareForPasswordFlow from './password-flow';
|
|
2
|
+
import createAuthMiddlewareForAnonymousSessionFlow from './anonymous-session-flow';
|
|
3
|
+
import createAuthMiddlewareForClientCredentialsFlow from './client-credentials-flow';
|
|
4
|
+
import createAuthMiddlewareForRefreshTokenFlow from './refresh-token-flow';
|
|
5
|
+
import createAuthMiddlewareForExistingTokenFlow from './existing-token-flow';
|
|
6
|
+
export { createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForRefreshTokenFlow, createAuthMiddlewareForExistingTokenFlow };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as createCorrelationIdMiddleware } from './create-correlation-id-middleware';
|
|
2
|
+
export { default as createHttpMiddleware } from './create-http-middleware';
|
|
3
|
+
export { default as createQueueMiddleware } from './create-queue-middleware';
|
|
4
|
+
export { default as createRetryMiddleware } from './create-retry-middleware';
|
|
5
|
+
export { default as createLoggerMiddleware } from './create-logger-middleware';
|
|
6
|
+
export { default as createUserAgentMiddleware } from './create-user-agent-middleware';
|
|
7
|
+
export { default as createConcurrentModificationMiddleware } from './create-concurrent-modification-middleware';
|
|
8
|
+
export { default as createErrorMiddleware } from './create-error-middleware';
|
|
9
|
+
export { createAuthMiddlewareForPasswordFlow, createAuthMiddlewareForClientCredentialsFlow, createAuthMiddlewareForAnonymousSessionFlow, createAuthMiddlewareForExistingTokenFlow, createAuthMiddlewareForRefreshTokenFlow } from './auth-middleware';
|
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
import { Buffer } from 'buffer/'
|
|
2
|
+
import fetch from 'node-fetch'
|
|
3
|
+
import axios from 'axios'
|
|
4
|
+
|
|
5
|
+
export type Nullable<T> = T | null
|
|
6
|
+
export type JsonObject<T = unknown> = { [key: string]: T }
|
|
7
|
+
export type MiddlewareRequest = ClientRequest
|
|
8
|
+
|
|
9
|
+
export type Middleware = (next: Next) => (request: MiddlewareRequest) => Promise<MiddlewareResponse>
|
|
10
|
+
|
|
11
|
+
export type MiddlewareResponse = {
|
|
12
|
+
resolve(response: JsonObject): void;
|
|
13
|
+
reject(error: JsonObject): void;
|
|
14
|
+
body?: JsonObject;
|
|
15
|
+
error?: HttpErrorType;
|
|
16
|
+
statusCode: number;
|
|
17
|
+
// headers?: JsonObject<string>;
|
|
18
|
+
headers?: Record<string, any>
|
|
19
|
+
request?: MiddlewareRequest;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type HttpErrorType = {
|
|
23
|
+
name?: string
|
|
24
|
+
message: string
|
|
25
|
+
code?: number
|
|
26
|
+
status?: number
|
|
27
|
+
method: MethodType
|
|
28
|
+
statusCode: number
|
|
29
|
+
originalRequest?: ClientRequest
|
|
30
|
+
body?: JsonObject
|
|
31
|
+
retryCount?: number
|
|
32
|
+
// headers?: JsonObject<QueryParam>
|
|
33
|
+
headers?: Record<string, any>
|
|
34
|
+
[key: string]: any
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface ClientRequest {
|
|
38
|
+
baseUri?: string
|
|
39
|
+
uri?: string
|
|
40
|
+
// headers?: VariableMap
|
|
41
|
+
headers?: Record<string, any>
|
|
42
|
+
method: MethodType
|
|
43
|
+
uriTemplate?: string
|
|
44
|
+
pathVariables?: VariableMap
|
|
45
|
+
queryParams?: VariableMap
|
|
46
|
+
body?: string | Buffer
|
|
47
|
+
response?: ClientResponse
|
|
48
|
+
resolve?: (response: JsonObject) => void;
|
|
49
|
+
reject?: (error: JsonObject) => void;
|
|
50
|
+
[key: string]: any
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export type Next = (request: MiddlewareRequest) => Promise<MiddlewareResponse>
|
|
54
|
+
|
|
55
|
+
export type MethodType =
|
|
56
|
+
| 'GET'
|
|
57
|
+
| 'HEAD'
|
|
58
|
+
| 'POST'
|
|
59
|
+
| 'PUT'
|
|
60
|
+
| 'PATCH'
|
|
61
|
+
| 'DELETE'
|
|
62
|
+
| 'CONNECT'
|
|
63
|
+
| 'OPTIONS'
|
|
64
|
+
| 'TRACE'
|
|
65
|
+
|
|
66
|
+
export type QueryParam =
|
|
67
|
+
| string
|
|
68
|
+
| string[]
|
|
69
|
+
| number
|
|
70
|
+
| number[]
|
|
71
|
+
| boolean
|
|
72
|
+
| boolean[]
|
|
73
|
+
| undefined
|
|
74
|
+
|
|
75
|
+
export type VariableMap = {
|
|
76
|
+
[key: string]: QueryParam
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export type ClientResponse<T = any> = {
|
|
80
|
+
body?: T
|
|
81
|
+
statusCode?: number
|
|
82
|
+
// headers?: JsonObject<string>
|
|
83
|
+
headers?: Record<string, any>
|
|
84
|
+
error?: HttpErrorType
|
|
85
|
+
// request?: Object
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export type ClientResult = ClientResponse
|
|
89
|
+
export type ClientOptions = { middlewares: Array<Middleware> }
|
|
90
|
+
|
|
91
|
+
export type Credentials = {
|
|
92
|
+
clientId: string
|
|
93
|
+
clientSecret: string
|
|
94
|
+
anonymousId?: string
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export type AuthMiddlewareOptions = {
|
|
98
|
+
host: string
|
|
99
|
+
projectKey: string
|
|
100
|
+
credentials: Credentials
|
|
101
|
+
scopes?: Array<string>
|
|
102
|
+
// For internal usage only
|
|
103
|
+
oauthUri?: string
|
|
104
|
+
httpClient?: fetch | typeof axios
|
|
105
|
+
tokenCache?: TokenCache
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export type TokenCacheOptions = {
|
|
109
|
+
clientId: string
|
|
110
|
+
projectKey: string
|
|
111
|
+
host: string
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
export type TokenStore = {
|
|
115
|
+
token: string
|
|
116
|
+
expirationTime?: number
|
|
117
|
+
refreshToken?: string
|
|
118
|
+
tokenCacheKey?: TokenCacheOptions
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export type TokenCache = {
|
|
122
|
+
get: (tokenCacheOptions?: TokenCacheOptions) => TokenStore
|
|
123
|
+
set: (cache: TokenStore, tokenCacheOptions?: TokenCacheOptions) => void
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export type IBuiltRequestParams = {
|
|
127
|
+
basicAuth: string
|
|
128
|
+
url: string
|
|
129
|
+
body: string
|
|
130
|
+
data?: string
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export type RefreshAuthMiddlewareOptions = {
|
|
134
|
+
host: string
|
|
135
|
+
projectKey: string
|
|
136
|
+
credentials: {
|
|
137
|
+
clientId: string
|
|
138
|
+
clientSecret: string
|
|
139
|
+
}
|
|
140
|
+
refreshToken: string
|
|
141
|
+
tokenCache?: TokenCache,
|
|
142
|
+
// For internal usage only
|
|
143
|
+
oauthUri?: string
|
|
144
|
+
httpClient?: any
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export type RequestStateStore = {
|
|
148
|
+
get: () => RequestState
|
|
149
|
+
set: (requestState: RequestState) => void
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/* Request */
|
|
153
|
+
type requestBaseOptions = {
|
|
154
|
+
url: string
|
|
155
|
+
body: string
|
|
156
|
+
basicAuth: string
|
|
157
|
+
request: MiddlewareRequest
|
|
158
|
+
tokenCache: TokenCache,
|
|
159
|
+
requestState: RequestStateStore,
|
|
160
|
+
pendingTasks: Array<Task>,
|
|
161
|
+
tokenCacheKey?: TokenCacheOptions,
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export type executeRequestOptions = requestBaseOptions & {
|
|
165
|
+
next: Next
|
|
166
|
+
httpClient: any
|
|
167
|
+
userOption?: AuthMiddlewareOptions | PasswordAuthMiddlewareOptions
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
export type AuthMiddlewareBaseOptions = requestBaseOptions & {
|
|
171
|
+
request: MiddlewareRequest
|
|
172
|
+
httpClient?: any
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export type RequestState = boolean
|
|
176
|
+
|
|
177
|
+
export type Task = {
|
|
178
|
+
request: MiddlewareRequest
|
|
179
|
+
next?: Next
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
export type UserAuthOptions = {
|
|
183
|
+
username: string
|
|
184
|
+
password: string
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
export type PasswordAuthMiddlewareOptions = {
|
|
188
|
+
host: string
|
|
189
|
+
projectKey: string
|
|
190
|
+
credentials: {
|
|
191
|
+
clientId: string
|
|
192
|
+
clientSecret: string
|
|
193
|
+
user: UserAuthOptions
|
|
194
|
+
}
|
|
195
|
+
scopes?: Array<string>
|
|
196
|
+
tokenCache?: TokenCache,
|
|
197
|
+
// For internal usage only
|
|
198
|
+
oauthUri?: string
|
|
199
|
+
httpClient?: any
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export type TokenInfo = {
|
|
203
|
+
refresh_token: string
|
|
204
|
+
access_token: string
|
|
205
|
+
expires_at: number
|
|
206
|
+
expires_in: number // since this will always be used to calculate the expiration time, it shouldn't be made optional
|
|
207
|
+
scope?: string
|
|
208
|
+
token_type?: string
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
export type Dispatch = (next: Next) => (request: MiddlewareRequest) => Promise<MiddlewareResponse>
|
|
212
|
+
|
|
213
|
+
export type CredentialsMode = 'omit' | 'same-origin' | 'include'
|
|
214
|
+
|
|
215
|
+
export type HttpMiddlewareOptions = {
|
|
216
|
+
host: string
|
|
217
|
+
credentialsMode?: CredentialsMode
|
|
218
|
+
includeHeaders?: boolean
|
|
219
|
+
includeResponseHeaders?: boolean
|
|
220
|
+
includeOriginalRequest?: boolean
|
|
221
|
+
includeRequestInErrorResponse?: boolean
|
|
222
|
+
// maskSensitiveHeaderData?: boolean
|
|
223
|
+
timeout?: number
|
|
224
|
+
// enableRetry?: boolean
|
|
225
|
+
// retryConfig?: {
|
|
226
|
+
// maxRetries?: number
|
|
227
|
+
// retryDelay?: number
|
|
228
|
+
// backoff?: boolean
|
|
229
|
+
// maxDelay?: number
|
|
230
|
+
// retryCodes?: Array<number | string>,
|
|
231
|
+
// }
|
|
232
|
+
httpClient: Function
|
|
233
|
+
getAbortController?: () => AbortController
|
|
234
|
+
httpClientOptions?: object
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
export type HttpOptions = {
|
|
238
|
+
url: string
|
|
239
|
+
clientOptions: IClientOptions
|
|
240
|
+
httpClient: any
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
export type LogLevel = 'INFO' | 'ERROR'
|
|
244
|
+
|
|
245
|
+
export type LoggerMiddlewareOptions = {
|
|
246
|
+
logLevel?: LogLevel
|
|
247
|
+
maskSensitiveHeaderData?: boolean
|
|
248
|
+
includeOriginalRequest?: boolean
|
|
249
|
+
includeResponseHeaders?: boolean
|
|
250
|
+
includeRequestInErrorResponse?: boolean
|
|
251
|
+
loggerFn?: (options: MiddlewareResponse) => void
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
export type RetryMiddlewareOptions = {
|
|
255
|
+
backoff?: boolean
|
|
256
|
+
maxRetries?: number
|
|
257
|
+
retryDelay?: number
|
|
258
|
+
maxDelay?: typeof Infinity
|
|
259
|
+
retryCodes?: Array<number | string>
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
export type CorrelationIdMiddlewareOptions = {
|
|
263
|
+
generate?: () => string
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/* HTTP User Agent */
|
|
267
|
+
export type HttpUserAgentOptions = {
|
|
268
|
+
name?: string
|
|
269
|
+
version?: string
|
|
270
|
+
libraryName?: string
|
|
271
|
+
libraryVersion?: string
|
|
272
|
+
contactUrl?: string
|
|
273
|
+
contactEmail?: string
|
|
274
|
+
customAgent?: string
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
export type QueueMiddlewareOptions = {
|
|
278
|
+
concurrency?: number
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export type ExistingTokenMiddlewareOptions = {
|
|
282
|
+
force: boolean
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
export type IClientOptions = {
|
|
286
|
+
method: MethodType;
|
|
287
|
+
// headers: JsonObject<QueryParam>;
|
|
288
|
+
headers: Record<string, any>
|
|
289
|
+
credentialsMode?: CredentialsMode;
|
|
290
|
+
body?: string | Buffer
|
|
291
|
+
timeout?: number
|
|
292
|
+
abortController?: AbortController
|
|
293
|
+
[k: string | number | symbol]: unknown
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
export type HttpClientConfig = IClientOptions & {
|
|
297
|
+
url: string
|
|
298
|
+
httpClient: Function
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
export type TResponse = {
|
|
302
|
+
statusCode: number
|
|
303
|
+
// headers: JsonObject<QueryParam>
|
|
304
|
+
headers: Record<string, any>
|
|
305
|
+
data: {
|
|
306
|
+
statusCode?: number
|
|
307
|
+
errors?: any
|
|
308
|
+
error?: string
|
|
309
|
+
message: string
|
|
310
|
+
[k: string | number | symbol]: any
|
|
311
|
+
}
|
|
312
|
+
[k: string | number | symbol]: any
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
export type Client = {
|
|
316
|
+
execute(request: ClientRequest): Promise<ClientResult>
|
|
317
|
+
process: (
|
|
318
|
+
request: ClientRequest,
|
|
319
|
+
fn: ProcessFn,
|
|
320
|
+
processOpt: ProcessOptions
|
|
321
|
+
) => Promise<unknown>
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
export type ProcessFn = (result: ClientResult) => Promise<unknown>
|
|
325
|
+
export type ProcessOptions = { accumulate?: boolean; total?: number }
|
|
326
|
+
export type ErrorMiddlewareOptions = {}
|
|
327
|
+
export type SuccessResult = {
|
|
328
|
+
body: {
|
|
329
|
+
results: Record<string | number | symbol, Record<string, any>>;
|
|
330
|
+
count: number;
|
|
331
|
+
};
|
|
332
|
+
statusCode: number;
|
|
333
|
+
headers?: JsonObject<string>;
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
export type executeRequest = (request: ClientRequest) => Promise<ClientResponse>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const HEADERS_CONTENT_TYPES: string[];
|
|
2
|
+
export declare const CONCURRENCT_REQUEST = 20;
|
|
3
|
+
export declare const CTP_API_URL = "https://api.europe-west1.gcp.commercetools.com";
|
|
4
|
+
export declare const CTP_AUTH_URL = "https://auth.europe-west1.gcp.commercetools.com";
|
|
5
|
+
export declare const DEFAULT_HEADERS: string[];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function generateID(): string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { default as logger } from './logger';
|
|
2
|
+
export { default as getHeaders } from './headers';
|
|
3
|
+
export { default as isBuffer } from './isBuffer';
|
|
4
|
+
export { default as calculateRetryDelay } from './retryDelay';
|
|
5
|
+
export { default as generate } from './generateID';
|
|
6
|
+
export { default as userAgent } from './userAgent';
|
|
7
|
+
export { default as maskAuthData } from './maskAuthData';
|
|
8
|
+
export { default as calculateExpirationTime } from './tokenExpirationTime';
|
|
9
|
+
export { default as buildTokenCacheKey } from './tokenCacheKey';
|
|
10
|
+
export { default as store } from './tokenStore';
|
|
11
|
+
export { default as mergeAuthHeader } from './mergeAuthHeader';
|
|
12
|
+
export { default as executor } from './executor';
|
|
13
|
+
export * as constants from './constants';
|
|
14
|
+
export { default as sleep } from './sleep';
|
|
15
|
+
export { default as METHODS } from './methods';
|
|
16
|
+
export { validateRetryCodes, validateHttpOptions, validateUserAgentOptions, validateClient, validate } from './validate';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function isBuffer(obj: any): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function sleep(ms: number): Promise<void>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function calculateExpirationTime(expiresIn: number): number;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ClientRequest, HttpMiddlewareOptions, HttpUserAgentOptions, Middleware } from '../types/types';
|
|
2
|
+
/**
|
|
3
|
+
* validate some essential http options
|
|
4
|
+
* @param options
|
|
5
|
+
*/
|
|
6
|
+
export declare function validateHttpOptions(options: HttpMiddlewareOptions): void;
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param retryCodes
|
|
10
|
+
* @example
|
|
11
|
+
* const retryCodes = [500, 504, "ETIMEDOUT"]
|
|
12
|
+
*/
|
|
13
|
+
export declare function validateRetryCodes(retryCodes: Array<string | number>): void;
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param options
|
|
17
|
+
*/
|
|
18
|
+
export declare function validateUserAgentOptions(options: HttpUserAgentOptions): void;
|
|
19
|
+
/**
|
|
20
|
+
* @param options
|
|
21
|
+
*/
|
|
22
|
+
export declare function validateClient(options: {
|
|
23
|
+
middlewares: Array<Middleware>;
|
|
24
|
+
}): void;
|
|
25
|
+
/**
|
|
26
|
+
* @param options
|
|
27
|
+
*/
|
|
28
|
+
export declare function validate(funcName: string, request: ClientRequest, options?: {
|
|
29
|
+
allowedMethods: Array<string>;
|
|
30
|
+
}): void;
|