axios-annotations 1.1.0 → 1.1.4
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 +127 -25
- package/decorator/request-with.js +1 -0
- package/lib/core/common.js +1 -1
- package/lib/core/config.d.ts +9 -3
- package/lib/core/config.js +1 -1
- package/lib/core/service.d.ts +4 -2
- package/lib/core/service.js +1 -1
- package/lib/decorator/delete-mapping.d.ts +1 -1
- package/lib/decorator/delete-mapping.js +1 -1
- package/lib/decorator/get-mapping.d.ts +1 -1
- package/lib/decorator/get-mapping.js +1 -1
- package/lib/decorator/patch-mapping.d.ts +1 -1
- package/lib/decorator/patch-mapping.js +1 -1
- package/lib/decorator/post-mapping.d.ts +1 -1
- package/lib/decorator/post-mapping.js +1 -1
- package/lib/decorator/put-mapping.d.ts +1 -1
- package/lib/decorator/put-mapping.js +1 -1
- package/lib/decorator/request-mapping.js +1 -1
- package/lib/decorator/request-with.d.ts +3 -0
- package/lib/decorator/request-with.js +1 -0
- package/lib/plugins/auth/authorizer.d.ts +4 -4
- package/lib/plugins/auth/authorizer.js +1 -1
- package/lib/plugins/cache/index.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -47,11 +47,11 @@ export default class TestService extends Service {
|
|
|
47
47
|
p2: data2
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
|
-
|
|
50
|
+
|
|
51
51
|
path(id) {
|
|
52
52
|
return this.requestWith("GET", "/path3/{id}")
|
|
53
53
|
.send({
|
|
54
|
-
|
|
54
|
+
id
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -98,7 +98,7 @@ export default class TestService extends Service {
|
|
|
98
98
|
}
|
|
99
99
|
```
|
|
100
100
|
|
|
101
|
-
`vue-cli`等脚手架已默认支持装饰器。
|
|
101
|
+
`vue-cli`等脚手架已默认支持装饰器。
|
|
102
102
|
<br>
|
|
103
103
|
方法只需要返回参数,并注解参数类型。
|
|
104
104
|
|
|
@@ -115,7 +115,7 @@ export default class TestService extends Service {
|
|
|
115
115
|
@RequestMapping("/path", "GET")
|
|
116
116
|
@RequestParam("p1", true)
|
|
117
117
|
@RequestParam("p2", true)
|
|
118
|
-
@RequestParam("p3", false)
|
|
118
|
+
@RequestParam("p3", false)
|
|
119
119
|
get(p1, p2, p3) {
|
|
120
120
|
return {p1, p2, p3};
|
|
121
121
|
}
|
|
@@ -125,17 +125,20 @@ export default class TestService extends Service {
|
|
|
125
125
|
@RequestBody("p2")
|
|
126
126
|
@RequestHeader("Content-Type", "text/plain")
|
|
127
127
|
post(p1, str2) {
|
|
128
|
-
|
|
128
|
+
const defaultValue = {p1: "0x123456"};
|
|
129
|
+
return Object.assign(defaultValue, {p1, p2: str2});
|
|
129
130
|
}
|
|
130
131
|
}
|
|
131
132
|
```
|
|
132
|
-
如果不爽部分IDE的`non-promise inspection info`下划线,也可以给方法加上`async`。
|
|
133
133
|
|
|
134
|
+
如果不爽部分IDE的`non-promise inspection info`下划线,也可以给方法加上`async`。
|
|
134
135
|
|
|
135
136
|
### QueryString Encoding
|
|
137
|
+
|
|
136
138
|
`key-values pair`转查询串算法,运行环境不支持`URLSearchParams`时使用默认算法,也可以自定义。
|
|
137
139
|
<br>
|
|
138
140
|
使用第三方库,`qs`,`querystring`,`url-search-params-polyfill`等,不同运行环境下可能有差异。
|
|
141
|
+
|
|
139
142
|
```javascript
|
|
140
143
|
import qs from "qs";
|
|
141
144
|
import URLSearchParamsParser from "axios-annotations/core/parser";
|
|
@@ -165,7 +168,52 @@ config.prefix = "/api";
|
|
|
165
168
|
@RequestConfig(config)
|
|
166
169
|
@RequestMapping("/test")
|
|
167
170
|
export default class TestService extends Service {
|
|
171
|
+
@RequestMapping("/{id}", "GET")
|
|
172
|
+
foo(id) {
|
|
173
|
+
return {id};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Default Config
|
|
179
|
+
|
|
180
|
+
All Services inject this by default.
|
|
181
|
+
|
|
182
|
+
```javascript
|
|
183
|
+
import {config} from "axios-annotations/core/config";
|
|
184
|
+
|
|
185
|
+
config.host = "192.168.137.1";
|
|
186
|
+
config.port = 8080;
|
|
187
|
+
// ...
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Register Config
|
|
168
191
|
|
|
192
|
+
注册配置,用途:<br>
|
|
193
|
+
|
|
194
|
+
+ 不需要 `export` 导出,使用 `Config.forName(name:string)` 获取。
|
|
195
|
+
+ 部分特殊请求可能需要绕开自身配置,使用`@RequestWith(config)`注解方法,请求将使用指定配置进行构建。
|
|
196
|
+
|
|
197
|
+
```javascript
|
|
198
|
+
new Config("http", "localhost", 9999, "/auth").register("withoutPlugins");
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
```javascript
|
|
202
|
+
@RequestConfig(new Config("http", "localhost", 8888, "/prefix"))
|
|
203
|
+
@RequestMapping("/oauth")
|
|
204
|
+
class AuthService extends Service {
|
|
205
|
+
@PostMapping("/login")
|
|
206
|
+
@RequestWith("withoutPlugins")
|
|
207
|
+
login() {
|
|
208
|
+
// http://localhost:9999/auth/oauth/login
|
|
209
|
+
return {usename: "0x123456", password: "123456"};
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
@GetMapping("/foo")
|
|
213
|
+
bar() {
|
|
214
|
+
// http://localhost:8888/prefix/oauth/foo
|
|
215
|
+
return {};
|
|
216
|
+
}
|
|
169
217
|
}
|
|
170
218
|
```
|
|
171
219
|
|
|
@@ -206,11 +254,13 @@ config.plugins = [
|
|
|
206
254
|
```
|
|
207
255
|
|
|
208
256
|
### <text style="color:red;">Auth Plugin</text>
|
|
257
|
+
|
|
209
258
|
可选的内置插件。
|
|
210
259
|
<br>
|
|
211
260
|
Basic Usage for Auth Plugin.
|
|
212
261
|
<br>
|
|
213
|
-
Take case of `Spring Security OAtuh2.0`。
|
|
262
|
+
Take the case of `Spring Security OAtuh2.0`。
|
|
263
|
+
|
|
214
264
|
```javascript
|
|
215
265
|
// DevServer Proxy Config
|
|
216
266
|
const authCfg = new Config();
|
|
@@ -229,7 +279,7 @@ export default class OAuth2Service extends Service {
|
|
|
229
279
|
@RequestParam("client_secret", false)
|
|
230
280
|
@RequestParam("username", false)
|
|
231
281
|
@RequestParam("password", false)
|
|
232
|
-
@RequestBody()
|
|
282
|
+
@RequestBody()
|
|
233
283
|
token() {
|
|
234
284
|
return {
|
|
235
285
|
grant_type: "password",
|
|
@@ -246,7 +296,7 @@ export default class OAuth2Service extends Service {
|
|
|
246
296
|
@RequestParam("refresh_token", true)
|
|
247
297
|
@RequestParam("scope", false)
|
|
248
298
|
@RequestParam("client_id", true)
|
|
249
|
-
@RequestParam("client_secret", true)
|
|
299
|
+
@RequestParam("client_secret", true)
|
|
250
300
|
refreshToken(session) {
|
|
251
301
|
return {
|
|
252
302
|
grant_type: "refresh_token",
|
|
@@ -258,9 +308,11 @@ export default class OAuth2Service extends Service {
|
|
|
258
308
|
}
|
|
259
309
|
}
|
|
260
310
|
```
|
|
311
|
+
|
|
261
312
|
Implement Authorizer.
|
|
262
313
|
<br/>
|
|
263
|
-
实现`Authorizer
|
|
314
|
+
实现`Authorizer`类。至少需要实现方法`refreshSession`、`onAuthorizedDenied`。如果需要调用`invalidateSession`,还需要重载`onSessionInvalidated`。
|
|
315
|
+
|
|
264
316
|
```javascript
|
|
265
317
|
import Authorizer from "axios-annotations/plugins/auth/authorizer";
|
|
266
318
|
|
|
@@ -275,7 +327,7 @@ export default class OAuth2Authorizer extends Authorizer {
|
|
|
275
327
|
} catch (e) {
|
|
276
328
|
throw e;
|
|
277
329
|
}
|
|
278
|
-
if(!res || !res.data){
|
|
330
|
+
if (!res || !res.data) {
|
|
279
331
|
throw new Error("Seession Unknow Error");
|
|
280
332
|
}
|
|
281
333
|
const nextSession = res.data;
|
|
@@ -289,11 +341,11 @@ export default class OAuth2Authorizer extends Authorizer {
|
|
|
289
341
|
// try logout, clean session.
|
|
290
342
|
// await this.invalidateSession();
|
|
291
343
|
// return;
|
|
292
|
-
|
|
344
|
+
|
|
293
345
|
const res = await new OAuth2Service().token();
|
|
294
346
|
if (res && res.data) {
|
|
295
347
|
const nextSession = res.data;
|
|
296
|
-
|
|
348
|
+
|
|
297
349
|
// save session manually if try re-login
|
|
298
350
|
await this.storageSession(nextSession);
|
|
299
351
|
return nextSession;
|
|
@@ -308,9 +360,11 @@ export default class OAuth2Authorizer extends Authorizer {
|
|
|
308
360
|
}
|
|
309
361
|
}
|
|
310
362
|
```
|
|
363
|
+
|
|
311
364
|
认证信息默认存储在`sessionStorage`。
|
|
312
365
|
<br>
|
|
313
366
|
Implement SessionStorage if store mode changed.
|
|
367
|
+
|
|
314
368
|
```javascript
|
|
315
369
|
import AsyncStorage from '@react-native-async-storage/async-storage';
|
|
316
370
|
import SessionStorage from "axios-annotations/plugins/auth/storage";
|
|
@@ -330,7 +384,10 @@ export default class RNSessionStorage extends SessionStorage {
|
|
|
330
384
|
}
|
|
331
385
|
}
|
|
332
386
|
```
|
|
333
|
-
|
|
387
|
+
|
|
388
|
+
替换掉`Authorizer`存储器,如果通过重载`getSession`和`storageSession`实现验证信息存储,可以忽略掉`sessionStorage`和`sessionKey`,此时`sessionStorage`
|
|
389
|
+
和`sessionKey`不会被调用。
|
|
390
|
+
|
|
334
391
|
```javascript
|
|
335
392
|
export default class OAuth2Authorizer extends Authorizer {
|
|
336
393
|
constructor() {
|
|
@@ -339,7 +396,9 @@ export default class OAuth2Authorizer extends Authorizer {
|
|
|
339
396
|
}
|
|
340
397
|
}
|
|
341
398
|
```
|
|
399
|
+
|
|
342
400
|
在默认配置上设置插件。
|
|
401
|
+
|
|
343
402
|
```javascript
|
|
344
403
|
// config.js
|
|
345
404
|
import AuthorizationPlugin from "axios-annotations/plugins/auth/index";
|
|
@@ -351,7 +410,7 @@ config.port = 8080;
|
|
|
351
410
|
config.protocol = "http";
|
|
352
411
|
config.prefix = "/api";
|
|
353
412
|
|
|
354
|
-
const _authorizer =
|
|
413
|
+
const _authorizer = new OAuth2Authorizer();
|
|
355
414
|
|
|
356
415
|
config.plugins = [
|
|
357
416
|
AuthorizationPlugin(_authorizer)
|
|
@@ -368,9 +427,11 @@ export default class TestService extends Service {
|
|
|
368
427
|
// ...
|
|
369
428
|
}
|
|
370
429
|
```
|
|
430
|
+
|
|
371
431
|
首次登录,需要手动保存认证信息。
|
|
372
432
|
<br>
|
|
373
433
|
but you may store grant information yourself when the first time login succeed.
|
|
434
|
+
|
|
374
435
|
```javascript
|
|
375
436
|
import {authorizer} from "/path/config.js";
|
|
376
437
|
|
|
@@ -386,38 +447,54 @@ import {authorizer} from "/path/config.js";
|
|
|
386
447
|
```
|
|
387
448
|
|
|
388
449
|
## API
|
|
450
|
+
|
|
389
451
|
### Service
|
|
452
|
+
|
|
390
453
|
#### request(method, path, data?, config?): AxiosPromise
|
|
454
|
+
|
|
391
455
|
+ method : string `GET / POST / DELETE...`
|
|
392
456
|
+ path : string `相对路径`
|
|
393
457
|
+ data : Object `请求体`
|
|
394
458
|
+ config : Object `AxiosRequestConfig`
|
|
395
459
|
|
|
396
460
|
#### requestWith(method, path): RequestController
|
|
461
|
+
|
|
397
462
|
+ method : string `GET /POST / DELETE...`
|
|
398
463
|
+ path : string `相对路径`
|
|
399
464
|
|
|
400
465
|
> #### RequestController
|
|
401
466
|
> + param: (key, required?) : RequestController
|
|
402
|
-
>
|
|
467
|
+
>
|
|
468
|
+
+ key : string `标记查询串参数`
|
|
403
469
|
> + required : boolean `默认false,空字符串,null,undefined 将忽略`
|
|
404
470
|
> + header: (header, header) : RequestController
|
|
405
|
-
>
|
|
471
|
+
>
|
|
472
|
+
+ header : string `url 附加参数键值`
|
|
406
473
|
> + header : string | function `字符串,或者接收 send 方法参数的函数,该函数应返回合法值。`
|
|
407
474
|
>
|
|
408
475
|
> + body: (key) : RequestController
|
|
409
|
-
>
|
|
476
|
+
>
|
|
477
|
+
+ key : string `标记参数中请求体`
|
|
410
478
|
>
|
|
411
479
|
> + config: (cfg) : RequestController
|
|
412
|
-
>
|
|
480
|
+
>
|
|
481
|
+
+ cfg : `AxiosRequestConfig`
|
|
413
482
|
>
|
|
414
483
|
> + send: (data) : AxiosPromise<any>
|
|
415
|
-
>
|
|
484
|
+
>
|
|
485
|
+
+ data : object `参数键值对`
|
|
486
|
+
>
|
|
487
|
+
> + with: (name) : RequestController
|
|
488
|
+
>
|
|
489
|
+
+ name : string `config name : 已注册配置名称`
|
|
416
490
|
|
|
417
491
|
### Decorators
|
|
492
|
+
|
|
418
493
|
#### RequestMapping(path, method?)
|
|
494
|
+
|
|
419
495
|
+ path : string `相对路径`
|
|
420
496
|
+ method : string `默认GET,注解服务类时忽略该参数`
|
|
497
|
+
|
|
421
498
|
> 注解方法时,可以使用简化形式:
|
|
422
499
|
> <br>
|
|
423
500
|
> GetMapping(path)
|
|
@@ -431,12 +508,15 @@ import {authorizer} from "/path/config.js";
|
|
|
431
508
|
> DeleteMapping(path)
|
|
432
509
|
|
|
433
510
|
#### RequestParam(name, required?)
|
|
511
|
+
|
|
434
512
|
+ name : string `方法返回值属性`
|
|
435
513
|
+ required : boolean `是否必要参数`
|
|
436
514
|
|
|
437
515
|
#### RequestHeader(header, value)
|
|
516
|
+
|
|
438
517
|
+ header : string `请求头`
|
|
439
|
-
+ value : string `字符串或函数`
|
|
518
|
+
+ value : string `字符串或函数`
|
|
519
|
+
|
|
440
520
|
> 使用函数。
|
|
441
521
|
> ```javascript
|
|
442
522
|
> class TestService extends Service {
|
|
@@ -451,10 +531,11 @@ import {authorizer} from "/path/config.js";
|
|
|
451
531
|
> ```
|
|
452
532
|
|
|
453
533
|
#### RequestBody(name)
|
|
454
|
-
+ name : string `方法返回值属性,默认为 body`
|
|
455
534
|
|
|
535
|
+
+ name : string `方法返回值属性,默认为 body`
|
|
456
536
|
|
|
457
537
|
### Authorizer (Optional Plugin)
|
|
538
|
+
|
|
458
539
|
+ sessionKey : string `键值名称`
|
|
459
540
|
```javascript
|
|
460
541
|
authorizer.sessionKey = "$_SESSION"; // default value
|
|
@@ -468,6 +549,7 @@ import {authorizer} from "/path/config.js";
|
|
|
468
549
|
});
|
|
469
550
|
}
|
|
470
551
|
```
|
|
552
|
+
+ storageSession(session: Session): Promise<void> `存储授权信息`
|
|
471
553
|
+ checkResponse(response:AxiosResponse) : boolean `检查授权是否过期`
|
|
472
554
|
```javascript
|
|
473
555
|
class OAuth2Authorizer extends Authorizer {
|
|
@@ -485,11 +567,31 @@ import {authorizer} from "/path/config.js";
|
|
|
485
567
|
}
|
|
486
568
|
}
|
|
487
569
|
```
|
|
570
|
+
|
|
488
571
|
## 运行环境
|
|
489
|
-
|
|
490
|
-
|
|
572
|
+
|
|
573
|
+
### 微信小程序
|
|
574
|
+
|
|
575
|
+
+ `axios`需要降级:
|
|
576
|
+
|
|
491
577
|
```shell
|
|
492
578
|
npm install axios@0.21.0
|
|
493
579
|
npm install axios-miniprogram-adapter
|
|
580
|
+
```
|
|
581
|
+
|
|
582
|
+
+ 编译报错 `module is not defined`, 在`app.js`头部补充声明:
|
|
583
|
+
|
|
584
|
+
```javascript
|
|
585
|
+
import RequestMapping from "axios-annotations/decorator/request-mapping";
|
|
586
|
+
import GetMapping from "axios-annotations/decorator/get-mapping";
|
|
587
|
+
import PostMapping from "axios-annotations/decorator/post-mapping";
|
|
588
|
+
import PutMapping from "axios-annotations/decorator/put-mapping";
|
|
589
|
+
import DeleteMapping from "axios-annotations/decorator/delete-mapping";
|
|
590
|
+
import PatchMapping from "axios-annotations/decorator/patch-mapping";
|
|
591
|
+
import RequestParam from "axios-annotations/decorator/request-param";
|
|
592
|
+
import RequestBody from "axios-annotations/decorator/request-body";
|
|
593
|
+
import RequestHeader from "axios-annotations/decorator/request-header";
|
|
594
|
+
import RequestConfig from "axios-annotations/decorator/request-config";
|
|
494
595
|
```
|
|
495
|
-
|
|
596
|
+
|
|
597
|
+
+ 更新开发工具以支持装饰器语法。
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require("../lib/decorator/request-with");
|
package/lib/core/common.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function normalizePath(
|
|
1
|
+
"use strict";function normalizePath(r){return r.replace(/\/+/g,"/").replace(/\/$/,"")}function isNullOrEmpty(r){return null==r||""===r}function forward(r,t,e,a,n,o,l,c,u){t="".concat(t)+normalizePath("/".concat(e,"/").concat(a,"/").concat(n));return l&&(0<=t.lastIndexOf("?")?t+="&"+l:t+="?"+l),r.request(Object.assign({method:o,url:t,data:c},u))}Object.defineProperty(exports,"__esModule",{value:!0}),exports.forward=forward,exports.isNullOrEmpty=isNullOrEmpty,exports.normalizePath=normalizePath;
|
package/lib/core/config.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import {AxiosInstance} from "axios";
|
|
2
2
|
|
|
3
|
-
export type ConfigPluginHandler = (...args: any[]) => ((config: Config) => void);
|
|
4
|
-
|
|
5
3
|
export default class Config {
|
|
4
|
+
constructor(protocol?: string, host?: string, port?: number, prefix?: string, plugins?: ((config: Config) => void)[]);
|
|
5
|
+
|
|
6
|
+
static forName(name: string): Config;
|
|
7
|
+
|
|
6
8
|
host: string;
|
|
7
9
|
|
|
8
10
|
port: number | null | string;
|
|
@@ -17,7 +19,11 @@ export default class Config {
|
|
|
17
19
|
|
|
18
20
|
axios: AxiosInstance;
|
|
19
21
|
|
|
20
|
-
plugins:
|
|
22
|
+
plugins: ((config: Config) => void)[];
|
|
23
|
+
|
|
24
|
+
register(name: string): Config;
|
|
25
|
+
|
|
26
|
+
unregister(): Config;
|
|
21
27
|
}
|
|
22
28
|
|
|
23
29
|
export const config: Config;
|
package/lib/core/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.config=void 0;var _axios=_interopRequireDefault(require("axios"));function _interopRequireDefault(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.config=void 0;var _axios=_interopRequireDefault(require("axios"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function _createClass(t,e,n){return e&&_defineProperties(t.prototype,e),n&&_defineProperties(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function _defineProperty(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var _global_configs=[],Config=function(){function r(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null,i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null,o=4<arguments.length&&void 0!==arguments[4]?arguments[4]:null;_classCallCheck(this,r),_defineProperty(this,"_host","localhost"),_defineProperty(this,"_port",8080),_defineProperty(this,"_protocol","http"),_defineProperty(this,"_prefix",""),_defineProperty(this,"_axios",_axios.default.create()),_defineProperty(this,"_plugins",[]),this.init(t,e,n,i,o)}return _createClass(r,[{key:"init",value:function(t,e,n,i,o){this.port=n,t&&(this.protocol=t),e&&(this.host=e),i&&(this.prefix=i),Array.isArray(o)&&(this.plugins=o)}},{key:"host",get:function(){return this._host},set:function(t){this._host=t}},{key:"port",get:function(){return this._port},set:function(t){this._port=t}},{key:"protocol",get:function(){return this._protocol},set:function(t){this._protocol=t}},{key:"prefix",get:function(){return this._prefix},set:function(t){this._prefix=t}},{key:"origin",get:function(){return"".concat(this.protocol,"://").concat(this.host).concat(this.port?":"+this.port:"")}},{key:"baseURL",get:function(){return"".concat(this.origin).concat(this.prefix)}},{key:"axios",get:function(){return this._axios},set:function(t){this._axios=t}},{key:"plugins",get:function(){return this._plugins},set:function(t){this._plugins=t}},{key:"register",value:function(t){var e=this,n=_global_configs.find(function(t){return t.config===e});return n?n.name=t:_global_configs.push({name:t,config:this}),this}},{key:"unregister",value:function(){var e=this,t=_global_configs.findIndex(function(t){return t.config===e});return 0<=t&&_global_configs.splice(t,1),this}}],[{key:"forName",value:function(e){var t=_global_configs.find(function(t){return t.name===e});return t?t.config:null}}]),r}(),config=new(exports.default=Config);exports.config=config;
|
package/lib/core/service.d.ts
CHANGED
|
@@ -10,7 +10,9 @@ export interface RequestController {
|
|
|
10
10
|
|
|
11
11
|
config: (config: Partial<AxiosRequestConfig>) => RequestController;
|
|
12
12
|
|
|
13
|
-
send: (data
|
|
13
|
+
send: (data?: Record<string, any>) => AxiosPromise<any>;
|
|
14
|
+
|
|
15
|
+
with: (registration: string) => RequestController;
|
|
14
16
|
}
|
|
15
17
|
|
|
16
18
|
export default class Service {
|
|
@@ -22,5 +24,5 @@ export default class Service {
|
|
|
22
24
|
|
|
23
25
|
request(method: string, path: string, data?: any, config?: Partial<AxiosRequestConfig>): AxiosPromise<any>;
|
|
24
26
|
|
|
25
|
-
requestWith(method: string, path
|
|
27
|
+
requestWith(method: string, path?: string): RequestController;
|
|
26
28
|
}
|
package/lib/core/service.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ConfigMapping=void 0;var _common=require("./common"),_parser=_interopRequireDefault(require("./parser")),_config=require("./config");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelper(e,t){var r,n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return n&&(e=n),r=0,{s:t=function(){},n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw i}}}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ConfigMapping={requestHeaders:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],r={};if(e)for(var n in e){var i=e[n];r[n]="function"==typeof i?i.apply(void 0,t):i}return r},axiosConfig:function(e,t){var r={};return(e||[]).forEach(function(e){"function"==typeof e?Object.assign(r,e.apply(void 0,t)):Object.assign(r,e)}),r},querystring:function(e,t){if(e){var r,n=_parser.default.decode(t);for(r in t){var i=t[r],o=e[r];!o||o.body?_parser.default.delete(n,r):o.required?(0,_common.isNullOrEmpty)(i)&&!_parser.default.has(n,r)&&_parser.default.append(n,r,""):(0,_common.isNullOrEmpty)(i)&&_parser.default.has(n,r)&&_parser.default.delete(n,r)}return _parser.default.encode(n)}return""},body:function(e,t){if(e)for(var r in e)if(!0===e[r].body)return(0,_common.isNullOrEmpty)(t)?void 0:t[r];return null}},Service=(exports.ConfigMapping=ConfigMapping,function(){function n(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;if(_classCallCheck(this,n),_defineProperty(this,"_path",""),_defineProperty(this,"_config",_config.config),_defineProperty(this,"_headers",{}),_defineProperty(this,"_params",{}),_defineProperty(this,"_configs",{}),_defineProperty(this,"
|
|
1
|
+
"use strict";function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ConfigMapping=void 0;var _common=require("./common"),_parser=_interopRequireDefault(require("./parser")),_config=_interopRequireWildcard(require("./config"));function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(_getRequireWildcardCache=function(e){return e?r:t})(e)}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!==_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var r,n,i={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&((n=o?Object.getOwnPropertyDescriptor(e,r):null)&&(n.get||n.set)?Object.defineProperty(i,r,n):i[r]=e[r]);return i.default=e,t&&t.set(e,i),i}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _createForOfIteratorHelper(e,t){var r,n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=_unsupportedIterableToArray(e))||t&&e&&"number"==typeof e.length)return n&&(e=n),r=0,{s:t=function(){},n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:t};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,a=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){a=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(a)throw i}}}}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Map"===(r="Object"===r&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var ConfigMapping={requestHeaders:function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],r={};if(e)for(var n in e){var i=e[n];r[n]="function"==typeof i?i.apply(void 0,t):i}return r},axiosConfig:function(e,t){var r={};return(e||[]).forEach(function(e){"function"==typeof e?Object.assign(r,e.apply(void 0,t)):Object.assign(r,e)}),r},querystring:function(e,t){if(!t)return"";if(e){var r,n=_parser.default.decode(t);for(r in t){var i=t[r],o=e[r];!o||o.body?_parser.default.delete(n,r):o.required?(0,_common.isNullOrEmpty)(i)&&!_parser.default.has(n,r)&&_parser.default.append(n,r,""):(0,_common.isNullOrEmpty)(i)&&_parser.default.has(n,r)&&_parser.default.delete(n,r)}return _parser.default.encode(n)}return""},body:function(e,t){if(e)for(var r in e)if(!0===e[r].body)return(0,_common.isNullOrEmpty)(t)?void 0:t[r];return null}},Service=(exports.ConfigMapping=ConfigMapping,function(){function n(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;if(_classCallCheck(this,n),_defineProperty(this,"_path",""),_defineProperty(this,"_config",_config.config),_defineProperty(this,"_headers",{}),_defineProperty(this,"_params",{}),_defineProperty(this,"_configs",{}),_defineProperty(this,"_for",{}),!this._path&&e&&(this._path=e),"function"==typeof Object.getPrototypeOf?(Object.getPrototypeOf(this)._path&&(this._path=Object.getPrototypeOf(this)._path),Object.getPrototypeOf(this)._config&&(this._config=Object.getPrototypeOf(this)._config)):(this.__proto__._path&&(this._path=this.__proto__._path),this.__proto__._config&&(this._config=this.__proto__._config)),this.config&&this.config.plugins&&this.config.plugins.length){var t,r=_createForOfIteratorHelper(this.config.plugins);try{for(r.s();!(t=r.n()).done;)(0,t.value)(this.config)}catch(e){r.e(e)}finally{r.f()}}}return _createClass(n,[{key:"config",get:function(){return this._config},set:function(e){this._config=e}},{key:"path",get:function(){return this._path},set:function(e){this._path=e}},{key:"params",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{required:!1};if(!this._params||!this._params[e]||!Object.hasOwnProperty.call(this._params[e],t)){var r=Object.assign({required:!1,body:!1},r),n=this._params||{},i=this._params&&this._params[e]||{},o=i[t]||{};if(!0===r.body)for(var a in i)i[a].body=!1;this._params=Object.assign(n,_defineProperty({},e,Object.assign(i,_defineProperty({},t,Object.assign(o,r)))))}}},{key:"headers",value:function(e,t,r){var n=this._headers||{};Object.assign(n,_defineProperty({},e,Object.assign(n[e]||{},_defineProperty({},t,r))))}},{key:"for",value:function(e,t){if(void 0===t)return this._for[e];Object.assign(this._for,_defineProperty({},e,t))}},{key:"configs",value:function(e,t){var r=this._configs||{};Object.assign(r,_defineProperty({},e,(r[e]||[]).concat(t)))}},{key:"pathVariable",value:function(e,t){var r=e||"",e=r.match(/{\w+}/g);return Array.isArray(e)&&e.forEach(function(e){e=e.substring(1,e.length-1);r=r.replaceAll("{".concat(e,"}"),t[e])}),r}},{key:"createRequestConfig",value:function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:[],i=4<arguments.length&&void 0!==arguments[4]?arguments[4]:[],o=ConfigMapping.querystring(this._params[e],r),r=ConfigMapping.body(this._params[e],r),n=ConfigMapping.requestHeaders(this._headers[e],n),e=ConfigMapping.axiosConfig(this._configs[e],i),i="".concat(t).concat(o?(0<=t.lastIndexOf("?")?"&":"?")+o:"");return Object.assign(e,{headers:Object.assign(n,e.headers||null)}),{path:i,body:r,config:e,query:o}}},{key:"request",value:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},t=0<=t.indexOf("http")?t:this.config.baseURL+(0,_common.normalizePath)("/".concat(this.path||"","/").concat(t));return this.config.axios.request(Object.assign({method:e,url:t,data:r},n))}},{key:"requestWith",value:function(o){var a=this,f=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",s={},c=[],u={},p=this,n={with:function(e){e=_config.default.forName(e);return e&&(p=e),n},param:function(e){return Object.assign(s,_defineProperty({},e,Object.assign(s[e]||{},{required:1<arguments.length&&void 0!==arguments[1]&&arguments[1],body:!1}))),n},header:function(e,t){return Object.assign(u,_defineProperty({},e,t)),n},body:function(e){var t,r=s[e]||{};for(t in s)s[t].body=!1;return Object.assign(s,_defineProperty({},e,Object.assign(r,{required:!1,body:!0}))),n},config:function(e){return c.push(e),n},send:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=ConfigMapping.querystring(s,e),r=ConfigMapping.body(s,e),n=ConfigMapping.requestHeaders(u,[e]),i=ConfigMapping.axiosConfig(c,[e]);return Object.assign(i,{headers:Object.assign(n,i.headers||null)}),p?(0,_common.forward)(p.axios,p.origin,p.prefix,a.path,f,o,t,r,i):(n="".concat(a.pathVariable(f||"",e)).concat(t?(0<=f.lastIndexOf("?")?"&":"?")+t:""),a.request(o,n,r,i))}};return n}}]),n}());exports.default=Service;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DeleteMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function DeleteMapping(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=DeleteMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function DeleteMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","DELETE")}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GetMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function GetMapping(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=GetMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function GetMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","GET")}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PatchMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PatchMapping(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PatchMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PatchMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","PATCH")}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PostMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PostMapping(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PostMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PostMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","POST")}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PutMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PutMapping(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=PutMapping;var _requestMapping=_interopRequireDefault(require("./request-mapping"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function PutMapping(){return(0,_requestMapping.default)(0<arguments.length&&void 0!==arguments[0]?arguments[0]:"","PUT")}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function RequestMapping(
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RequestMapping;var _config=_interopRequireDefault(require("../core/config")),_common=require("../core/common");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function RequestMapping(h){var l=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null;return function(e,p,t){var s;t?(l=l||"GET",s=t.value,t.value=function(){for(var a=this,e=arguments.length,u=new Array(e),t=0;t<e;t++)u[t]=arguments[t];var r,o,n,f=s.apply(this,u)||{},i=this.for(p),c=i?_config.default.forName(i):null;return f&&Object.hasOwnProperty.call(f,"then")&&"function"==typeof f.then?new Promise(function(n,i){f.then(function(e){var e=a.createRequestConfig(p,a.pathVariable(h||"",e),e,u,u),t=e.path,r=e.body,o=e.config,e=e.query;(c?(0,_common.forward)(c.axios,c.origin,c.prefix,a.path,h,l,e,r,o):a.request(l,t,r,o)).then(n).catch(i)})}):(r=(i=this.createRequestConfig(p,this.pathVariable(h||"",f),f,u,u)).path,o=i.body,n=i.config,i=i.query,c?(0,_common.forward)(c.axios,c.origin,c.prefix,this.path,h,l,i,o,n):this.request(l,r,o,n))}):e.prototype._path=h}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function RequestWith(i){return function(e,t,u){var r;u&&(r=u.value,u.value=function(){return this.for(t,i),r.apply(this,arguments)})}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=RequestWith;
|
|
@@ -29,15 +29,15 @@ export default class Authorizer {
|
|
|
29
29
|
|
|
30
30
|
sessionHistory: SessionHistory;
|
|
31
31
|
|
|
32
|
-
getSession(): Promise<Session
|
|
32
|
+
getSession(): Promise<Partial<Session>>;
|
|
33
33
|
|
|
34
34
|
storageSession(session: Session): Promise<void>;
|
|
35
35
|
|
|
36
|
-
refreshSession(session: Session):
|
|
36
|
+
refreshSession(session: Session): Promise<Partial<Session>> | Promise<Record<string, any>> | Promise<any>;
|
|
37
37
|
|
|
38
|
-
withAuthentication(request: AxiosRequestConfig, session: Session): void;
|
|
38
|
+
withAuthentication(request: AxiosRequestConfig, session: Partial<Session>): void;
|
|
39
39
|
|
|
40
|
-
checkSession(request: AxiosRequestConfig, session: Session): boolean;
|
|
40
|
+
checkSession(request: AxiosRequestConfig, session: Partial<Session>): boolean;
|
|
41
41
|
|
|
42
42
|
checkResponse(response: Response): boolean;
|
|
43
43
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _storage=_interopRequireDefault(require("./storage")),_history=_interopRequireDefault(require("./history"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function asyncGeneratorStep(e,t,n,r,s,o,i){try{var a=e[o](i),u=a.value}catch(e){return void n(e)}a.done?t(u):Promise.resolve(u).then(r,s)}function _asyncToGenerator(a){return function(){var e=this,i=arguments;return new Promise(function(t,n){var r=a.apply(e,i);function s(e){asyncGeneratorStep(r,t,n,s,o,"next",e)}function o(e){asyncGeneratorStep(r,t,n,s,o,"throw",e)}s(void 0)})}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Authorizer=function(){function e(){_classCallCheck(this,e),_defineProperty(this,"_sessionKey","$_SESSION"),_defineProperty(this,"_sessionStorage",new _storage.default),_defineProperty(this,"_sessionHistory",new _history.default)}var t,n,r,s,o;return _createClass(e,[{key:"sessionKey",get:function(){return this._sessionKey},set:function(e){this._sessionKey=e}},{key:"sessionStorage",get:function(){return this._sessionStorage},set:function(e){this._sessionStorage=e}},{key:"sessionHistory",get:function(){return this._sessionHistory},set:function(e){this._sessionHistory=e}},{key:"getSession",value:(o=_asyncToGenerator(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.get(this.sessionKey);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e,this)})),function(){return o.apply(this,arguments)})},{key:"storageSession",value:(s=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.set(this.sessionKey,t);case 2:case"end":return e.stop()}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"refreshSession",value:(r=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null);case 1:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})},{key:"withAuthentication",value:function(e,t){var n,r;t&&(n=t.access_token,r=t.accessToken,t=t.token,(n||r||t)&&(e.headers.Authorization="Bearer "+(n||r||t)))}},{key:"checkSession",value:function(e,t){e=e.headers.Authorization||e.headers.authorization,e=e&&e.split(" ")[1]||"";return(t.access_token||t.accessToken||t.token)!==e&&(this.sessionHistory.size
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _storage=_interopRequireDefault(require("./storage")),_history=_interopRequireDefault(require("./history"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function asyncGeneratorStep(e,t,n,r,s,o,i){try{var a=e[o](i),u=a.value}catch(e){return void n(e)}a.done?t(u):Promise.resolve(u).then(r,s)}function _asyncToGenerator(a){return function(){var e=this,i=arguments;return new Promise(function(t,n){var r=a.apply(e,i);function s(e){asyncGeneratorStep(r,t,n,s,o,"next",e)}function o(e){asyncGeneratorStep(r,t,n,s,o,"throw",e)}s(void 0)})}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){return t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Authorizer=function(){function e(){_classCallCheck(this,e),_defineProperty(this,"_sessionKey","$_SESSION"),_defineProperty(this,"_sessionStorage",new _storage.default),_defineProperty(this,"_sessionHistory",new _history.default)}var t,n,r,s,o;return _createClass(e,[{key:"sessionKey",get:function(){return this._sessionKey},set:function(e){this._sessionKey=e}},{key:"sessionStorage",get:function(){return this._sessionStorage},set:function(e){this._sessionStorage=e}},{key:"sessionHistory",get:function(){return this._sessionHistory},set:function(e){this._sessionHistory=e}},{key:"getSession",value:(o=_asyncToGenerator(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.get(this.sessionKey);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}},e,this)})),function(){return o.apply(this,arguments)})},{key:"storageSession",value:(s=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.set(this.sessionKey,t);case 2:case"end":return e.stop()}},e,this)})),function(e){return s.apply(this,arguments)})},{key:"refreshSession",value:(r=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",null);case 1:case"end":return e.stop()}},e)})),function(e){return r.apply(this,arguments)})},{key:"withAuthentication",value:function(e,t){var n,r;t&&(n=t.access_token,r=t.accessToken,t=t.token,(n||r||t)&&(e.headers.Authorization="Bearer "+(n||r||t)))}},{key:"checkSession",value:function(e,t){e=e.headers.Authorization||e.headers.authorization,e=e&&e.split(" ")[1]||"";return(t.access_token||t.accessToken||t.token)!==e&&(!this.sessionHistory.size||!this.sessionHistory.check(e))}},{key:"checkResponse",value:function(e){return 401!==(e||{status:0}).status}},{key:"onAuthorizedDenied",value:(n=_asyncToGenerator(regeneratorRuntime.mark(function e(t){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:throw t;case 1:case"end":return e.stop()}},e)})),function(e){return n.apply(this,arguments)})},{key:"onSessionInvalidated",value:function(){}},{key:"invalidateSession",value:(t=_asyncToGenerator(regeneratorRuntime.mark(function e(){return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sessionStorage.remove(this.sessionKey);case 2:this.onSessionInvalidated();case 3:case"end":return e.stop()}},e,this)})),function(){return t.apply(this,arguments)})}]),e}();exports.default=Authorizer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";function CachePlugin(){return function(e){var t=e.axios.defaults.adapter;e.axios.defaults.adapter=function(e){return t(e)}}}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=CachePlugin;
|