skapi-js 1.0.96 → 1.0.97-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/dist/skapi.js +1 -1
- package/dist/skapi.js.map +1 -1
- package/dist/skapi.module.js +1 -1
- package/dist/skapi.module.js.map +1 -1
- package/js/main/skapi.js +1 -1
- package/js/methods/user.d.ts +13 -2
- package/js/methods/user.js +237 -61
- package/js/methods/user.js.map +1 -1
- package/js/utils/network.js +23 -0
- package/js/utils/network.js.map +1 -1
- package/js/utils/utils.d.ts +1 -1
- package/js/utils/utils.js +16 -3
- package/js/utils/utils.js.map +1 -1
- package/package.json +1 -1
package/js/main/skapi.js
CHANGED
package/js/methods/user.d.ts
CHANGED
|
@@ -95,10 +95,10 @@ export declare function authentication(): {
|
|
|
95
95
|
refreshToken?: boolean;
|
|
96
96
|
}) => Promise<CognitoUserSession>;
|
|
97
97
|
authenticateUser: (email: string, password: string) => Promise<UserProfile>;
|
|
98
|
-
createCognitoUser: (
|
|
98
|
+
createCognitoUser: (un: string) => {
|
|
99
99
|
cognitoUser: CognitoUser;
|
|
100
100
|
cognitoUsername: string;
|
|
101
|
-
}
|
|
101
|
+
};
|
|
102
102
|
getUser: () => Promise<UserProfile | null>;
|
|
103
103
|
};
|
|
104
104
|
export declare function getProfile(options?: {
|
|
@@ -130,6 +130,17 @@ export declare function signup(form: Form<UserAttributes & {
|
|
|
130
130
|
} & {
|
|
131
131
|
progress?: ProgressCallback;
|
|
132
132
|
}): Promise<UserProfile | "SUCCESS: The account has been created. User's signup confirmation is required." | 'SUCCESS: The account has been created.'>;
|
|
133
|
+
export declare function createAccount(form: Form<UserAttributes & {
|
|
134
|
+
email: String;
|
|
135
|
+
password: String;
|
|
136
|
+
username?: string;
|
|
137
|
+
}>, option?: {
|
|
138
|
+
signup_confirmation?: boolean | string;
|
|
139
|
+
email_subscription?: boolean;
|
|
140
|
+
login?: boolean;
|
|
141
|
+
} & {
|
|
142
|
+
progress?: ProgressCallback;
|
|
143
|
+
}): Promise<UserProfile | "SUCCESS: The account has been created. User's signup confirmation is required." | 'SUCCESS: The account has been created.'>;
|
|
133
144
|
export declare function disableAccount(): Promise<'SUCCESS: account has been disabled.'>;
|
|
134
145
|
export declare function resetPassword(form: Form<{
|
|
135
146
|
email: string;
|
package/js/methods/user.js
CHANGED
|
@@ -239,10 +239,8 @@ export function authentication() {
|
|
|
239
239
|
});
|
|
240
240
|
});
|
|
241
241
|
};
|
|
242
|
-
const createCognitoUser =
|
|
243
|
-
|
|
244
|
-
throw new SkapiError('E-Mail is required.', { code: 'INVALID_PARAMETER' });
|
|
245
|
-
let username = email.includes(this.service + '-') ? email : this.service + '-' + MD5.hash(email);
|
|
242
|
+
const createCognitoUser = (un) => {
|
|
243
|
+
let username = un.includes(this.service + '-') ? un : this.service + '-' + MD5.hash(un);
|
|
246
244
|
return {
|
|
247
245
|
cognitoUser: new CognitoUser({
|
|
248
246
|
Username: username,
|
|
@@ -255,63 +253,66 @@ export function authentication() {
|
|
|
255
253
|
return new Promise((res, rej) => {
|
|
256
254
|
this.__request_signup_confirmation = null;
|
|
257
255
|
this.__disabledAccount = null;
|
|
258
|
-
createCognitoUser(email)
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
rej(new SkapiError("User's signup confirmation is required.", { code: 'SIGNUP_CONFIRMATION_NEEDED' }));
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
onSuccess: _ => getSession().then(_ => {
|
|
284
|
-
this.__disabledAccount = null;
|
|
285
|
-
res(this.user);
|
|
286
|
-
}),
|
|
287
|
-
onFailure: (err) => {
|
|
288
|
-
let error = [err.message || 'Failed to authenticate user.', err?.code || 'INVALID_REQUEST'];
|
|
289
|
-
if (err.code === "NotAuthorizedException") {
|
|
290
|
-
if (err.message === "User is disabled.") {
|
|
291
|
-
this.__disabledAccount = username;
|
|
292
|
-
error = ['This account is disabled.', 'USER_IS_DISABLED'];
|
|
293
|
-
}
|
|
294
|
-
else {
|
|
295
|
-
error = ['Incorrect username or password.', 'INCORRECT_USERNAME_OR_PASSWORD'];
|
|
256
|
+
let initUser = createCognitoUser(email);
|
|
257
|
+
let username = initUser.cognitoUsername;
|
|
258
|
+
let authenticationDetails = new AuthenticationDetails({
|
|
259
|
+
Username: username,
|
|
260
|
+
Password: password
|
|
261
|
+
});
|
|
262
|
+
initUser.cognitoUser.authenticateUser(authenticationDetails, {
|
|
263
|
+
newPasswordRequired: (userAttributes, requiredAttributes) => {
|
|
264
|
+
this.__disabledAccount = null;
|
|
265
|
+
this.__request_signup_confirmation = username;
|
|
266
|
+
if (userAttributes['custom:signup_ticket'] === 'PASS' || userAttributes['custom:signup_ticket'] === 'MEMBER') {
|
|
267
|
+
initUser.cognitoUser.completeNewPasswordChallenge(password, {}, {
|
|
268
|
+
onSuccess: _ => {
|
|
269
|
+
cognitoUser = initUser.cognitoUser;
|
|
270
|
+
getSession().then(session => res(this.user));
|
|
271
|
+
},
|
|
272
|
+
onFailure: (err) => {
|
|
273
|
+
rej(new SkapiError(err.message || 'Failed to authenticate user.', { code: err.code }));
|
|
296
274
|
}
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
rej(new SkapiError("User's signup confirmation is required.", { code: 'SIGNUP_CONFIRMATION_NEEDED' }));
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
onSuccess: _ => getSession().then(_ => {
|
|
282
|
+
this.__disabledAccount = null;
|
|
283
|
+
res(this.user);
|
|
284
|
+
}),
|
|
285
|
+
onFailure: (err) => {
|
|
286
|
+
let error = [err.message || 'Failed to authenticate user.', err?.code || 'INVALID_REQUEST'];
|
|
287
|
+
if (err.code === "NotAuthorizedException") {
|
|
288
|
+
if (err.message === "User is disabled.") {
|
|
289
|
+
this.__disabledAccount = username;
|
|
290
|
+
error = ['This account is disabled.', 'USER_IS_DISABLED'];
|
|
297
291
|
}
|
|
298
|
-
else
|
|
292
|
+
else {
|
|
299
293
|
error = ['Incorrect username or password.', 'INCORRECT_USERNAME_OR_PASSWORD'];
|
|
300
294
|
}
|
|
301
|
-
else if (err.code === "TooManyRequestsException" || err.code === "LimitExceededException") {
|
|
302
|
-
error = ['Too many attempts. Please try again later.', 'REQUEST_EXCEED'];
|
|
303
|
-
}
|
|
304
|
-
let errCode = error[1];
|
|
305
|
-
let errMsg = error[0];
|
|
306
|
-
let customErr = error[0].split('#');
|
|
307
|
-
if (customErr.length > 1) {
|
|
308
|
-
customErr = customErr[customErr.length - 1].split(':');
|
|
309
|
-
errCode = customErr[0];
|
|
310
|
-
errMsg = customErr[1];
|
|
311
|
-
}
|
|
312
|
-
rej(new SkapiError(errMsg, { code: errCode, cause: err }));
|
|
313
295
|
}
|
|
314
|
-
|
|
296
|
+
else if (err.code === "UserNotFoundException") {
|
|
297
|
+
error = ['Incorrect username or password.', 'INCORRECT_USERNAME_OR_PASSWORD'];
|
|
298
|
+
}
|
|
299
|
+
else if (err.code === "UserNotConfirmedException") {
|
|
300
|
+
this.__request_signup_confirmation = username;
|
|
301
|
+
error = ["User's signup confirmation is required.", 'SIGNUP_CONFIRMATION_NEEDED'];
|
|
302
|
+
}
|
|
303
|
+
else if (err.code === "TooManyRequestsException" || err.code === "LimitExceededException") {
|
|
304
|
+
error = ['Too many attempts. Please try again later.', 'REQUEST_EXCEED'];
|
|
305
|
+
}
|
|
306
|
+
let errCode = error[1];
|
|
307
|
+
let errMsg = error[0];
|
|
308
|
+
let customErr = error[0].split('#');
|
|
309
|
+
if (customErr.length > 1) {
|
|
310
|
+
customErr = customErr[customErr.length - 1].split(':');
|
|
311
|
+
errCode = customErr[0];
|
|
312
|
+
errMsg = customErr[1];
|
|
313
|
+
}
|
|
314
|
+
rej(new SkapiError(errMsg, { code: errCode, cause: err }));
|
|
315
|
+
}
|
|
315
316
|
});
|
|
316
317
|
});
|
|
317
318
|
};
|
|
@@ -433,7 +434,17 @@ export async function signup(form, option) {
|
|
|
433
434
|
email: (v) => validator.Email(v),
|
|
434
435
|
password: (v) => validator.Password(v),
|
|
435
436
|
name: 'string',
|
|
436
|
-
address:
|
|
437
|
+
address: (v) => {
|
|
438
|
+
if (!v)
|
|
439
|
+
return '';
|
|
440
|
+
if (typeof v === 'string') {
|
|
441
|
+
return v;
|
|
442
|
+
}
|
|
443
|
+
if (typeof v === 'object') {
|
|
444
|
+
return JSON.stringify(v);
|
|
445
|
+
}
|
|
446
|
+
return undefined;
|
|
447
|
+
},
|
|
437
448
|
gender: 'string',
|
|
438
449
|
birthdate: (v) => validator.Birthdate(v),
|
|
439
450
|
phone_number: (v) => validator.PhoneNumber(v),
|
|
@@ -519,7 +530,7 @@ export async function signup(form, option) {
|
|
|
519
530
|
let resp = await request.bind(this)("signup", params, { auth: is_admin });
|
|
520
531
|
if (!is_admin) {
|
|
521
532
|
if (signup_confirmation) {
|
|
522
|
-
let u =
|
|
533
|
+
let u = authentication.bind(this)().createCognitoUser(params.username || params.email);
|
|
523
534
|
cognitoUser = u.cognitoUser;
|
|
524
535
|
this.__request_signup_confirmation = u.cognitoUsername;
|
|
525
536
|
return "SUCCESS: The account has been created. User's signup confirmation is required.";
|
|
@@ -531,6 +542,171 @@ export async function signup(form, option) {
|
|
|
531
542
|
}
|
|
532
543
|
return resp;
|
|
533
544
|
}
|
|
545
|
+
export async function createAccount(form, option) {
|
|
546
|
+
let is_admin = await checkAdmin.bind(this)();
|
|
547
|
+
let paramRestrictions = {
|
|
548
|
+
username: 'string',
|
|
549
|
+
email: (v) => validator.Email(v),
|
|
550
|
+
password: (v) => validator.Password(v),
|
|
551
|
+
name: 'string',
|
|
552
|
+
address: (v) => {
|
|
553
|
+
if (!v)
|
|
554
|
+
return '';
|
|
555
|
+
if (typeof v === 'string') {
|
|
556
|
+
return v;
|
|
557
|
+
}
|
|
558
|
+
if (typeof v === 'object') {
|
|
559
|
+
return JSON.stringify(v);
|
|
560
|
+
}
|
|
561
|
+
return undefined;
|
|
562
|
+
},
|
|
563
|
+
gender: 'string',
|
|
564
|
+
birthdate: (v) => validator.Birthdate(v),
|
|
565
|
+
phone_number: (v) => validator.PhoneNumber(v),
|
|
566
|
+
email_public: ['boolean', () => false],
|
|
567
|
+
address_public: ['boolean', () => false],
|
|
568
|
+
gender_public: ['boolean', () => false],
|
|
569
|
+
birthdate_public: ['boolean', () => false],
|
|
570
|
+
phone_number_public: ['boolean', () => false],
|
|
571
|
+
access_group: 'number',
|
|
572
|
+
misc: 'string',
|
|
573
|
+
picture: (v) => { if (v)
|
|
574
|
+
return validator.Url(v);
|
|
575
|
+
else
|
|
576
|
+
return undefined; },
|
|
577
|
+
profile: (v) => { if (v)
|
|
578
|
+
return validator.Url(v);
|
|
579
|
+
else
|
|
580
|
+
return undefined; },
|
|
581
|
+
family_name: 'string',
|
|
582
|
+
given_name: 'string',
|
|
583
|
+
middle_name: 'string',
|
|
584
|
+
nickname: 'string',
|
|
585
|
+
website: (v) => { if (v)
|
|
586
|
+
return validator.Url(v);
|
|
587
|
+
else
|
|
588
|
+
return undefined; },
|
|
589
|
+
};
|
|
590
|
+
let params = validator.Params(form || {}, paramRestrictions, is_admin ? ['email'] : ['email', 'password']);
|
|
591
|
+
let admin_creating_account = is_admin && params.service && this.service !== params.service;
|
|
592
|
+
if (!is_admin) {
|
|
593
|
+
if (params.access_group) {
|
|
594
|
+
throw new SkapiError('Only admins can set "access_group" parameter.', { code: 'INVALID_PARAMETER' });
|
|
595
|
+
}
|
|
596
|
+
await this.logout();
|
|
597
|
+
}
|
|
598
|
+
option = validator.Params(option || {}, {
|
|
599
|
+
email_subscription: (v) => {
|
|
600
|
+
if (typeof v !== 'boolean') {
|
|
601
|
+
throw new SkapiError('"option.email_subscription" should be type: <boolean>.', { code: 'INVALID_PARAMETER' });
|
|
602
|
+
}
|
|
603
|
+
if (!option?.signup_confirmation) {
|
|
604
|
+
throw new SkapiError('"option.signup_confirmation" is required for email subscription.', { code: 'INVALID_PARAMETER' });
|
|
605
|
+
}
|
|
606
|
+
return v;
|
|
607
|
+
},
|
|
608
|
+
signup_confirmation: (v) => {
|
|
609
|
+
if (typeof v === 'string') {
|
|
610
|
+
return validator.Url(v);
|
|
611
|
+
}
|
|
612
|
+
else if (typeof v === 'boolean') {
|
|
613
|
+
return v;
|
|
614
|
+
}
|
|
615
|
+
else {
|
|
616
|
+
throw new SkapiError('"option.signup_confirmation" should be type: <string | boolean>.', { code: 'INVALID_PARAMETER' });
|
|
617
|
+
}
|
|
618
|
+
},
|
|
619
|
+
login: (v) => {
|
|
620
|
+
if (typeof v === 'boolean') {
|
|
621
|
+
if (option.signup_confirmation && v) {
|
|
622
|
+
throw new SkapiError('"login" is not allowed when "option.signup_confirmation" is true.', { code: 'INVALID_PARAMETER' });
|
|
623
|
+
}
|
|
624
|
+
return v;
|
|
625
|
+
}
|
|
626
|
+
throw new SkapiError('"option.login" should be type: boolean.', { code: 'INVALID_PARAMETER' });
|
|
627
|
+
}
|
|
628
|
+
});
|
|
629
|
+
let logUser = option?.login || false;
|
|
630
|
+
let signup_confirmation = option?.signup_confirmation || false;
|
|
631
|
+
if (admin_creating_account && signup_confirmation && params?.password) {
|
|
632
|
+
throw new SkapiError('Admins cannot create an account with "option.signup_confirmation" option.', { code: 'INVALID_PARAMETER' });
|
|
633
|
+
}
|
|
634
|
+
if (params.email_public && !signup_confirmation) {
|
|
635
|
+
throw new SkapiError('"option.signup_confirmation" should be true if "email_public" is set to true.', { code: 'INVALID_PARAMETER' });
|
|
636
|
+
}
|
|
637
|
+
params.signup_confirmation = signup_confirmation;
|
|
638
|
+
params.email_subscription = option?.email_subscription || false;
|
|
639
|
+
if (!admin_creating_account) {
|
|
640
|
+
delete params.service;
|
|
641
|
+
delete params.owner;
|
|
642
|
+
}
|
|
643
|
+
if (is_admin) {
|
|
644
|
+
let resp = await request.bind(this)("signup", params, { auth: is_admin });
|
|
645
|
+
return resp;
|
|
646
|
+
}
|
|
647
|
+
let newUser = authentication.bind(this)().createCognitoUser(params.username || params.email);
|
|
648
|
+
let signup_key = await request.bind(this)('signupkey', {
|
|
649
|
+
username: newUser.cognitoUsername,
|
|
650
|
+
signup_confirmation: typeof signup_confirmation === 'boolean' ? JSON.stringify(signup_confirmation) : signup_confirmation,
|
|
651
|
+
email_subscription: params.email_subscription,
|
|
652
|
+
});
|
|
653
|
+
let attributeList = [
|
|
654
|
+
new CognitoUserAttribute({
|
|
655
|
+
Name: 'preferred_username',
|
|
656
|
+
Value: newUser.cognitoUsername
|
|
657
|
+
}),
|
|
658
|
+
new CognitoUserAttribute({
|
|
659
|
+
Name: 'custom:service',
|
|
660
|
+
Value: this.service
|
|
661
|
+
}),
|
|
662
|
+
new CognitoUserAttribute({
|
|
663
|
+
Name: 'custom:owner',
|
|
664
|
+
Value: this.owner
|
|
665
|
+
}),
|
|
666
|
+
new CognitoUserAttribute({
|
|
667
|
+
Name: 'custom:signup',
|
|
668
|
+
Value: signup_key
|
|
669
|
+
})
|
|
670
|
+
];
|
|
671
|
+
for (let k in paramRestrictions) {
|
|
672
|
+
let customParams = [
|
|
673
|
+
'email_public',
|
|
674
|
+
'address_public',
|
|
675
|
+
'gender_public',
|
|
676
|
+
'birthdate_public',
|
|
677
|
+
'phone_number_public',
|
|
678
|
+
'access_group',
|
|
679
|
+
'misc'
|
|
680
|
+
];
|
|
681
|
+
if (k === 'username') {
|
|
682
|
+
attributeList.push(new CognitoUserAttribute({
|
|
683
|
+
Name: 'preferred_username',
|
|
684
|
+
Value: newUser.cognitoUsername
|
|
685
|
+
}));
|
|
686
|
+
}
|
|
687
|
+
else if (customParams.includes(k)) {
|
|
688
|
+
attributeList.push(new CognitoUserAttribute({
|
|
689
|
+
Name: 'custom:' + k,
|
|
690
|
+
Value: params[k]
|
|
691
|
+
}));
|
|
692
|
+
}
|
|
693
|
+
else {
|
|
694
|
+
attributeList.push(new CognitoUserAttribute({
|
|
695
|
+
Name: k,
|
|
696
|
+
Value: params[k]
|
|
697
|
+
}));
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
if (signup_confirmation) {
|
|
701
|
+
cognitoUser = newUser.cognitoUser;
|
|
702
|
+
this.__request_signup_confirmation = newUser.cognitoUsername;
|
|
703
|
+
return "SUCCESS: The account has been created. User's signup confirmation is required.";
|
|
704
|
+
}
|
|
705
|
+
if (logUser) {
|
|
706
|
+
return login.bind(this)({ email: params.username || params.email, password: params.password });
|
|
707
|
+
}
|
|
708
|
+
return 'SUCCESS: The account has been created.';
|
|
709
|
+
}
|
|
534
710
|
export async function disableAccount() {
|
|
535
711
|
await this.__connection;
|
|
536
712
|
let result = await request.bind(this)('remove-account', { disable: this.__user.user_id }, { auth: true });
|
|
@@ -549,7 +725,7 @@ export async function resetPassword(form) {
|
|
|
549
725
|
code = code.toString();
|
|
550
726
|
}
|
|
551
727
|
return new Promise(async (res, rej) => {
|
|
552
|
-
let cognitoUser =
|
|
728
|
+
let cognitoUser = authentication.bind(this)().createCognitoUser(params.email).cognitoUser;
|
|
553
729
|
cognitoUser.confirmPassword(code, new_password, {
|
|
554
730
|
onSuccess: result => {
|
|
555
731
|
res("SUCCESS: New password has been set.");
|
|
@@ -624,7 +800,7 @@ export async function forgotPassword(form) {
|
|
|
624
800
|
email: (v) => validator.Email(v)
|
|
625
801
|
}, ['email']);
|
|
626
802
|
return new Promise(async (res, rej) => {
|
|
627
|
-
let cognitoUser =
|
|
803
|
+
let cognitoUser = authentication.bind(this)().createCognitoUser(params.email).cognitoUser;
|
|
628
804
|
cognitoUser.forgotPassword({
|
|
629
805
|
onSuccess: result => {
|
|
630
806
|
res("SUCCESS: Verification code has been sent.");
|
|
@@ -688,7 +864,7 @@ export async function updateProfile(form) {
|
|
|
688
864
|
if (typeof v === 'object') {
|
|
689
865
|
return JSON.stringify(v);
|
|
690
866
|
}
|
|
691
|
-
return
|
|
867
|
+
return undefined;
|
|
692
868
|
},
|
|
693
869
|
name: 'string',
|
|
694
870
|
gender: 'string',
|
package/js/methods/user.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/methods/user.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/methods/user.ts"],"names":[],"mappings":"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"}
|
package/js/utils/network.js
CHANGED
|
@@ -33,6 +33,7 @@ async function getEndpoint(dest, auth) {
|
|
|
33
33
|
case 'request-username-change':
|
|
34
34
|
case 'jwt-login':
|
|
35
35
|
case 'client-secret-request':
|
|
36
|
+
case 'signupkey':
|
|
36
37
|
case 'client-secret-request-public':
|
|
37
38
|
return (auth ? admin.admin_private : admin.admin_public) + dest + query;
|
|
38
39
|
case 'post-record':
|
|
@@ -307,6 +308,17 @@ function _fetch(url, opt, progress) {
|
|
|
307
308
|
res(result);
|
|
308
309
|
}
|
|
309
310
|
}
|
|
311
|
+
else if (xhr.status === 429) {
|
|
312
|
+
let retryAfter = xhr.getResponseHeader('Retry-After');
|
|
313
|
+
if (retryAfter) {
|
|
314
|
+
setTimeout(() => {
|
|
315
|
+
_fetch(url, opt, progress).then(res, rej);
|
|
316
|
+
}, parseInt(retryAfter) * 1000);
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
rej('Too many requests');
|
|
320
|
+
}
|
|
321
|
+
}
|
|
310
322
|
else {
|
|
311
323
|
let status = xhr.status;
|
|
312
324
|
let errCode = [
|
|
@@ -428,6 +440,17 @@ export async function uploadFiles(fileList, params) {
|
|
|
428
440
|
if (xhr.status >= 200 && xhr.status < 300) {
|
|
429
441
|
res(result);
|
|
430
442
|
}
|
|
443
|
+
else if (xhr.status === 429) {
|
|
444
|
+
let retryAfter = xhr.getResponseHeader('Retry-After');
|
|
445
|
+
if (retryAfter) {
|
|
446
|
+
setTimeout(() => {
|
|
447
|
+
fetchProgress(url, body, progressCallback).then(res, rej);
|
|
448
|
+
}, parseInt(retryAfter) * 1000);
|
|
449
|
+
}
|
|
450
|
+
else {
|
|
451
|
+
rej('Too many requests');
|
|
452
|
+
}
|
|
453
|
+
}
|
|
431
454
|
else {
|
|
432
455
|
rej(result);
|
|
433
456
|
}
|