@pushwoosh/http-client 1.4.3 → 1.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/README.md +251 -181
- package/dist/http-client.errors.d.ts +160 -78
- package/dist/http-client.errors.d.ts.map +1 -0
- package/dist/http-client.main.d.ts +145 -0
- package/dist/http-client.main.d.ts.map +1 -0
- package/dist/http-client.types.d.ts +74 -103
- package/dist/http-client.types.d.ts.map +1 -0
- package/dist/http-client.utilities.d.ts +20 -0
- package/dist/http-client.utilities.d.ts.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -1
- package/dist/index.js.LICENSE.txt +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +32 -35
- package/dist/http-client.d.ts +0 -171
- package/dist/http-client.helpers.d.ts +0 -2
package/package.json
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pushwoosh/http-client",
|
|
3
|
-
"version": "1.4.3",
|
|
4
|
-
"license": "MIT",
|
|
5
3
|
"main": "./dist/index.js",
|
|
6
4
|
"types": "./dist/index.d.ts",
|
|
7
5
|
"files": [
|
|
@@ -12,63 +10,62 @@
|
|
|
12
10
|
"build": "npm run production",
|
|
13
11
|
"development": "cross-env NODE_ENV=development webpack-dev-server --config webpack.development.config.js",
|
|
14
12
|
"production": "cross-env NODE_ENV=production webpack --config webpack.production.config.js",
|
|
15
|
-
"check": "npm run check:lint && npm run check:
|
|
16
|
-
"check:lint": "echo \"Run check:lint\" && eslint
|
|
13
|
+
"check": "npm run check:lint && npm run check:tests && npm run check:types",
|
|
14
|
+
"check:lint": "echo \"Run check:lint\" && eslint",
|
|
17
15
|
"check:tests": "echo \"Run check:tests\" && jest --passWithNoTests",
|
|
18
16
|
"check:types": "echo \"Run check:types\" && tsc --project tsconfig.json --noEmit"
|
|
19
17
|
},
|
|
20
18
|
"pre-commit": "check",
|
|
21
19
|
"dependencies": {
|
|
22
|
-
"@babel/runtime-corejs3": "^7.
|
|
23
|
-
"
|
|
20
|
+
"@babel/runtime-corejs3": "^7.17.2",
|
|
21
|
+
"axios": "^0.25.0",
|
|
22
|
+
"core-js": "^3.21.0",
|
|
24
23
|
"js-cookie": "^3.0.1",
|
|
25
24
|
"jwt-decode": "^3.1.2",
|
|
26
25
|
"path-to-regexp": "^6.2.0",
|
|
27
26
|
"qs": "^6.10.3"
|
|
28
27
|
},
|
|
29
28
|
"devDependencies": {
|
|
30
|
-
"@babel/core": "^7.
|
|
31
|
-
"@babel/plugin-transform-runtime": "^7.
|
|
32
|
-
"@babel/preset-env": "^7.16.
|
|
33
|
-
"@types/jest": "^
|
|
29
|
+
"@babel/core": "^7.17.2",
|
|
30
|
+
"@babel/plugin-transform-runtime": "^7.17.0",
|
|
31
|
+
"@babel/preset-env": "^7.16.11",
|
|
32
|
+
"@types/jest": "^27.4.0",
|
|
34
33
|
"@types/webpack-env": "^1.16.3",
|
|
35
|
-
"@typescript-eslint/eslint-plugin": "^
|
|
36
|
-
"@typescript-eslint/parser": "^
|
|
34
|
+
"@typescript-eslint/eslint-plugin": "^5.11.0",
|
|
35
|
+
"@typescript-eslint/parser": "^5.11.0",
|
|
37
36
|
"babel-loader": "^8.2.3",
|
|
38
|
-
"clean-webpack-plugin": "^
|
|
37
|
+
"clean-webpack-plugin": "^4.0.0",
|
|
39
38
|
"cross-env": "^7.0.3",
|
|
40
|
-
"dotenv": "^
|
|
41
|
-
"eslint": "^
|
|
42
|
-
"eslint-config-airbnb": "^
|
|
43
|
-
"eslint-config-airbnb-typescript": "^
|
|
44
|
-
"eslint-
|
|
45
|
-
"eslint-plugin-
|
|
46
|
-
"eslint-plugin-import": "^2.25.3",
|
|
39
|
+
"dotenv": "^16.0.0",
|
|
40
|
+
"eslint": "^8.8.0",
|
|
41
|
+
"eslint-config-airbnb": "^19.0.4",
|
|
42
|
+
"eslint-config-airbnb-typescript": "^16.1.0",
|
|
43
|
+
"eslint-plugin-compat": "^4.0.2",
|
|
44
|
+
"eslint-plugin-import": "^2.25.4",
|
|
47
45
|
"eslint-plugin-jsx-a11y": "^6.5.1",
|
|
48
|
-
"eslint-plugin-react": "^7.
|
|
46
|
+
"eslint-plugin-react": "^7.28.0",
|
|
49
47
|
"eslint-plugin-react-hooks": "^4.3.0",
|
|
50
|
-
"jest": "^
|
|
48
|
+
"jest": "^27.5.1",
|
|
51
49
|
"pre-commit": "^1.2.2",
|
|
52
|
-
"terser-webpack-plugin": "^
|
|
53
|
-
"ts-jest": "^
|
|
54
|
-
"ts-loader": "^
|
|
55
|
-
"typescript": "^4.5.
|
|
56
|
-
"
|
|
57
|
-
"webpack": "^4.
|
|
58
|
-
"webpack-
|
|
59
|
-
"webpack-dev-server": "^3.11.3",
|
|
50
|
+
"terser-webpack-plugin": "^5.3.1",
|
|
51
|
+
"ts-jest": "^27.1.3",
|
|
52
|
+
"ts-loader": "^9.2.6",
|
|
53
|
+
"typescript": "^4.5.5",
|
|
54
|
+
"webpack": "^5.68.0",
|
|
55
|
+
"webpack-cli": "^4.9.2",
|
|
56
|
+
"webpack-dev-server": "^4.7.4",
|
|
60
57
|
"webpack-merge": "^5.8.0"
|
|
61
58
|
},
|
|
62
59
|
"peerDependencies": {
|
|
63
|
-
"@types/history": "^4.7.
|
|
60
|
+
"@types/history": "^4.7.11",
|
|
64
61
|
"@types/js-cookie": "^3.0.1",
|
|
65
62
|
"@types/qs": "^6.9.7",
|
|
66
|
-
"axios": "^0.24.0",
|
|
67
63
|
"history": "^4.10.1",
|
|
68
64
|
"tslib": "^2.3.1"
|
|
69
65
|
},
|
|
70
66
|
"engines": {
|
|
71
|
-
"node": ">=
|
|
72
|
-
"npm": ">=
|
|
73
|
-
}
|
|
67
|
+
"node": ">=16.0.0",
|
|
68
|
+
"npm": ">=7.0.0"
|
|
69
|
+
},
|
|
70
|
+
"version": "1.5.1"
|
|
74
71
|
}
|
package/dist/http-client.d.ts
DELETED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { History } from 'history';
|
|
2
|
-
import { Body, Config, DeleteOptions, GetOptions, Introspect, Method, PatchOptions, PostOptions, PutOptions, Query, RequestOptions, Response } from './http-client.types';
|
|
3
|
-
export declare class HttpClient {
|
|
4
|
-
/**
|
|
5
|
-
* Имя куки в которой будет сохранена случайная строка для проверки ответа авторизации.
|
|
6
|
-
* Для более подробной информации: RFC 6749 https://www.rfc-editor.org/rfc/rfc6749.html#section-4.1.1.
|
|
7
|
-
*/
|
|
8
|
-
static STORIED_AUTHORIZATION_STATE_COOKIE_NAME: string;
|
|
9
|
-
/**
|
|
10
|
-
* Имя куки в которой будет сохранен полный текущий адрес страницы.
|
|
11
|
-
*/
|
|
12
|
-
static STORIED_URL_COOKIE_NAME: string;
|
|
13
|
-
/**
|
|
14
|
-
* Библиотека для управления навигацией.
|
|
15
|
-
*/
|
|
16
|
-
private readonly history;
|
|
17
|
-
/**
|
|
18
|
-
* Параметры конфигурации.
|
|
19
|
-
*/
|
|
20
|
-
private readonly config;
|
|
21
|
-
/**
|
|
22
|
-
* Токен доступа.
|
|
23
|
-
*/
|
|
24
|
-
private accessToken;
|
|
25
|
-
/**
|
|
26
|
-
* Токен обновления.
|
|
27
|
-
*/
|
|
28
|
-
private refreshToken;
|
|
29
|
-
/**
|
|
30
|
-
* Происходит ли сейчас обновление токенов.
|
|
31
|
-
*/
|
|
32
|
-
private isRefreshing;
|
|
33
|
-
/**
|
|
34
|
-
* Был ли установлен токен доступа вручную.
|
|
35
|
-
*/
|
|
36
|
-
private isAccessTokenSetManual;
|
|
37
|
-
constructor(history: History, config: Config);
|
|
38
|
-
/**
|
|
39
|
-
* Разобрать ответ от сервера, и вернуть результат выполнения запроса.
|
|
40
|
-
*
|
|
41
|
-
* @param { Response<*> } response - ответ от сервера.
|
|
42
|
-
*/
|
|
43
|
-
basicResponseMiddleware: <R extends unknown>(response: Response<R>) => R;
|
|
44
|
-
/**
|
|
45
|
-
* Проверить наличие авторизации.
|
|
46
|
-
*/
|
|
47
|
-
private guardAuthorization;
|
|
48
|
-
/**
|
|
49
|
-
* Обновить токены.
|
|
50
|
-
* Для более подробной информации: RFC 6749 https://www.rfc-editor.org/rfc/rfc6749.html.
|
|
51
|
-
*
|
|
52
|
-
* @param { UpdateTokensPairQuery } query - параметры запроса для обновления токенов.
|
|
53
|
-
*/
|
|
54
|
-
private updateTokensPair;
|
|
55
|
-
/**
|
|
56
|
-
* Обновить токены с помощью кода авторизации.
|
|
57
|
-
* Для более подробной информации: RFC 6749 https://www.rfc-editor.org/rfc/rfc6749.html#section-4.1.3.
|
|
58
|
-
*
|
|
59
|
-
* @param { string } authorizationCode - код авторизации, полученный от сервера авторизации.
|
|
60
|
-
*/
|
|
61
|
-
private updateTokensPairByAuthorizationCode;
|
|
62
|
-
/**
|
|
63
|
-
* Обновить токены с помощью токена обновления.
|
|
64
|
-
* Для более подробной информации: RFC 6749 https://www.rfc-editor.org/rfc/rfc6749.html#section-6.
|
|
65
|
-
*
|
|
66
|
-
* @param { string } refreshToken - токен обновления, полученный от сервера авторизации.
|
|
67
|
-
* @param { Introspect } introspect - содержимое токена доступа.
|
|
68
|
-
*/
|
|
69
|
-
private updateTokensPairByRefreshToken;
|
|
70
|
-
/**
|
|
71
|
-
* Инициализировать модуль, если передан authorizationCode и authorizationState будет выполнена попытка обновить токены.
|
|
72
|
-
*
|
|
73
|
-
* @param { string } authorizationCode - код авторизации, полученный от сервера авторизации.
|
|
74
|
-
* @param { string } authorizationState - уникальная строка, переданная клиентом серверу при авторизации, полученная от сервера авторизации.
|
|
75
|
-
*/
|
|
76
|
-
initialize: (authorizationCode: string | null, authorizationState: string | null) => Promise<Introspect | null>;
|
|
77
|
-
/**
|
|
78
|
-
* Начать сессию.
|
|
79
|
-
*/
|
|
80
|
-
login: () => Promise<void>;
|
|
81
|
-
/**
|
|
82
|
-
* Завершить сессию.
|
|
83
|
-
*/
|
|
84
|
-
logout: () => Promise<void>;
|
|
85
|
-
/**
|
|
86
|
-
* Временный костыль, чтобы установить токен доступа из сессии.
|
|
87
|
-
*/
|
|
88
|
-
setAccessToken: (accessToken: string) => void;
|
|
89
|
-
/**
|
|
90
|
-
* Получить токен доступа, если время жизни токена закончилось, будет осуществлена попытка обновить токен.
|
|
91
|
-
*/
|
|
92
|
-
getAccessToken: () => Promise<string>;
|
|
93
|
-
/**
|
|
94
|
-
* Выполнить запрос на сервер.
|
|
95
|
-
*
|
|
96
|
-
* Дженерик:
|
|
97
|
-
* Method - тип запроса.
|
|
98
|
-
* Placeholders - параметры, которые будут подставлены в шаблон пути.
|
|
99
|
-
* Query - параметры, которые будут преобразованы в строку запроса.
|
|
100
|
-
* Body - тело запроса (never для GET).
|
|
101
|
-
* Result - ожидаемый результат выполнения запроса.
|
|
102
|
-
*
|
|
103
|
-
* @param { string } url - адрес запроса.
|
|
104
|
-
* @param { Options<Method, Params, Query, Body> } options - параметры запроса.
|
|
105
|
-
*/
|
|
106
|
-
request: <M extends Method, P extends Record<string, string | number>, Q extends Query, B extends Body, R extends unknown>(url: string, options: RequestOptions<M, P, Q, B>) => Promise<Response<R>>;
|
|
107
|
-
/**
|
|
108
|
-
* Выполнить GET запрос на сервер.
|
|
109
|
-
*
|
|
110
|
-
* Дженерик:
|
|
111
|
-
* Params - параметры, которые будут подставлены в шаблон пути.
|
|
112
|
-
* Query - параметры, которые будут преобразованы в строку запроса.
|
|
113
|
-
* Result - ожидаемый результат выполнения запроса.
|
|
114
|
-
*
|
|
115
|
-
* @param { string } url - адрес запроса.
|
|
116
|
-
* @param { GetOptions<Params, Query> } options - параметры GET запроса.
|
|
117
|
-
*/
|
|
118
|
-
get: <P extends Record<string, string | number>, Q extends Query, R extends unknown>(url: string, options: GetOptions<P, Q, R>) => Promise<R>;
|
|
119
|
-
/**
|
|
120
|
-
* Выполнить POST запрос на сервер.
|
|
121
|
-
*
|
|
122
|
-
* Дженерик:
|
|
123
|
-
* Params - параметры, которые будут подставлены в шаблон пути.
|
|
124
|
-
* Query - параметры, которые будут преобразованы в строку запроса.
|
|
125
|
-
* Body - тело запроса.
|
|
126
|
-
* Result - ожидаемый результат выполнения запроса.
|
|
127
|
-
*
|
|
128
|
-
* @param { string } url - адрес запроса.
|
|
129
|
-
* @param { PostOptions<Params, Query, Body> } options - параметры POST запроса.
|
|
130
|
-
*/
|
|
131
|
-
post: <P extends Record<string, string | number>, Q extends Query, B extends Body, R extends unknown>(url: string, options: PostOptions<P, Q, B, R>) => Promise<R>;
|
|
132
|
-
/**
|
|
133
|
-
* Выполнить PUT запрос на сервер.
|
|
134
|
-
*
|
|
135
|
-
* Дженерик:
|
|
136
|
-
* Params - параметры, которые будут подставлены в шаблон пути.
|
|
137
|
-
* Query - параметры, которые будут преобразованы в строку запроса.
|
|
138
|
-
* Body - тело запроса.
|
|
139
|
-
* Result - ожидаемый результат выполнения запроса.
|
|
140
|
-
*
|
|
141
|
-
* @param { string } url - адрес запроса.
|
|
142
|
-
* @param { PutOptions<Params, Query, Body> } options - параметры PUT запроса.
|
|
143
|
-
*/
|
|
144
|
-
put: <P extends Record<string, string | number>, Q extends Query, B extends Body, R extends unknown>(url: string, options: PutOptions<P, Q, B, R>) => Promise<R>;
|
|
145
|
-
/**
|
|
146
|
-
* Выполнить PATCH запрос на сервер.
|
|
147
|
-
*
|
|
148
|
-
* Дженерик:
|
|
149
|
-
* Params - параметры, которые будут подставлены в шаблон пути.
|
|
150
|
-
* Query - параметры, которые будут преобразованы в строку запроса.
|
|
151
|
-
* Body - тело запроса.
|
|
152
|
-
* Result - ожидаемый результат выполнения запроса.
|
|
153
|
-
*
|
|
154
|
-
* @param { string } url - адрес запроса.
|
|
155
|
-
* @param { PatchOptions<Params, Query, Body> } options - параметры PATCH запроса.
|
|
156
|
-
*/
|
|
157
|
-
patch: <P extends Record<string, string | number>, Q extends Query, B extends Body, R extends unknown>(url: string, options: PatchOptions<P, Q, B, R>) => Promise<R>;
|
|
158
|
-
/**
|
|
159
|
-
* Выполнить DELETE запрос на сервер.
|
|
160
|
-
*
|
|
161
|
-
* Дженерик:
|
|
162
|
-
* Params - параметры, которые будут подставлены в шаблон пути.
|
|
163
|
-
* Query - параметры, которые будут преобразованы в строку запроса.
|
|
164
|
-
* Body - тело запроса.
|
|
165
|
-
* Result - ожидаемый результат выполнения запроса.
|
|
166
|
-
*
|
|
167
|
-
* @param { string } url - адрес запроса.
|
|
168
|
-
* @param { DeleteOptions<Params, Query, Body> } options - параметры DELETE запроса.
|
|
169
|
-
*/
|
|
170
|
-
delete: <P extends Record<string, string | number>, Q extends Query, B extends Body, R extends unknown>(url: string, options: DeleteOptions<P, Q, B, R>) => Promise<R>;
|
|
171
|
-
}
|