.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / is-retry-allowed / index.js
1 'use strict';
2
3 var WHITELIST = [
4         'ETIMEDOUT',
5         'ECONNRESET',
6         'EADDRINUSE',
7         'ESOCKETTIMEDOUT',
8         'ECONNREFUSED',
9         'EPIPE',
10         'EHOSTUNREACH',
11         'EAI_AGAIN'
12 ];
13
14 var BLACKLIST = [
15         'ENOTFOUND',
16         'ENETUNREACH',
17
18         // SSL errors from https://github.com/nodejs/node/blob/ed3d8b13ee9a705d89f9e0397d9e96519e7e47ac/src/node_crypto.cc#L1950
19         'UNABLE_TO_GET_ISSUER_CERT',
20         'UNABLE_TO_GET_CRL',
21         'UNABLE_TO_DECRYPT_CERT_SIGNATURE',
22         'UNABLE_TO_DECRYPT_CRL_SIGNATURE',
23         'UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY',
24         'CERT_SIGNATURE_FAILURE',
25         'CRL_SIGNATURE_FAILURE',
26         'CERT_NOT_YET_VALID',
27         'CERT_HAS_EXPIRED',
28         'CRL_NOT_YET_VALID',
29         'CRL_HAS_EXPIRED',
30         'ERROR_IN_CERT_NOT_BEFORE_FIELD',
31         'ERROR_IN_CERT_NOT_AFTER_FIELD',
32         'ERROR_IN_CRL_LAST_UPDATE_FIELD',
33         'ERROR_IN_CRL_NEXT_UPDATE_FIELD',
34         'OUT_OF_MEM',
35         'DEPTH_ZERO_SELF_SIGNED_CERT',
36         'SELF_SIGNED_CERT_IN_CHAIN',
37         'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',
38         'UNABLE_TO_VERIFY_LEAF_SIGNATURE',
39         'CERT_CHAIN_TOO_LONG',
40         'CERT_REVOKED',
41         'INVALID_CA',
42         'PATH_LENGTH_EXCEEDED',
43         'INVALID_PURPOSE',
44         'CERT_UNTRUSTED',
45         'CERT_REJECTED'
46 ];
47
48 module.exports = function (err) {
49         if (!err || !err.code) {
50                 return true;
51         }
52
53         if (WHITELIST.indexOf(err.code) !== -1) {
54                 return true;
55         }
56
57         if (BLACKLIST.indexOf(err.code) !== -1) {
58                 return false;
59         }
60
61         return true;
62 };