fca-shadow 0.0.1-security → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of fca-shadow might be problematic. Click here for more details.
- package/.1obgge4cxlazf1346921747~ +0 -0
- package/CHANGELOG.md +2 -0
- package/DOCS.md +1738 -0
- package/GetThreads/GetThreadInfo.js +128 -0
- package/GetThreads/Last-Run.js +65 -0
- package/LICENSE-MIT +21 -0
- package/README.md +132 -3
- package/StateCrypt.js +96 -0
- package/broadcast.js +22 -0
- package/index.html +1200 -0
- package/index.js +684 -0
- package/languages/index.json +150 -0
- package/lib/getInfoNew.js +34 -0
- package/lib/getToken.js +44 -0
- package/logger.js +23 -0
- package/package/database/SyntheticDatabase.sqlite +0 -0
- package/package/database/index.js +358 -0
- package/package/database/node_modules/lodash/_baseGet/README.md +20 -0
- package/package/database/node_modules/lodash/_baseGet/index.js +74 -0
- package/package/database/node_modules/lodash/_baseGet/package.json +18 -0
- package/package/database/node_modules/lodash/add.js +22 -0
- package/package/database/node_modules/lodash/after.js +42 -0
- package/package/database/node_modules/lodash/array.js +67 -0
- package/package/database/node_modules/lodash/ary.js +29 -0
- package/package/database/node_modules/lodash/assign.js +58 -0
- package/package/database/node_modules/lodash/assignIn.js +40 -0
- package/package/database/node_modules/lodash/assignInWith.js +38 -0
- package/package/database/node_modules/lodash/assignWith.js +37 -0
- package/package/database/node_modules/lodash/at.js +23 -0
- package/package/database/node_modules/lodash/attempt.js +35 -0
- package/package/database/node_modules/lodash/before.js +40 -0
- package/package/database/node_modules/lodash/bind.js +57 -0
- package/package/database/node_modules/lodash/bindAll.js +41 -0
- package/package/database/node_modules/lodash/bindKey.js +68 -0
- package/package/database/node_modules/lodash/camelCase.js +29 -0
- package/package/database/node_modules/lodash/capitalize.js +23 -0
- package/package/database/node_modules/lodash/castArray.js +44 -0
- package/package/database/node_modules/lodash/ceil.js +26 -0
- package/package/database/node_modules/lodash/chain.js +38 -0
- package/package/database/node_modules/lodash/chunk.js +50 -0
- package/package/database/node_modules/lodash/clamp.js +39 -0
- package/package/database/node_modules/lodash/clone.js +36 -0
- package/package/database/node_modules/lodash/cloneDeep.js +29 -0
- package/package/database/node_modules/lodash/cloneDeepWith.js +40 -0
- package/package/database/node_modules/lodash/cloneWith.js +42 -0
- package/package/database/node_modules/lodash/collection.js +30 -0
- package/package/database/node_modules/lodash/commit.js +33 -0
- package/package/database/node_modules/lodash/compact.js +31 -0
- package/package/database/node_modules/lodash/concat.js +43 -0
- package/package/database/node_modules/lodash/cond.js +60 -0
- package/package/database/node_modules/lodash/conforms.js +35 -0
- package/package/database/node_modules/lodash/conformsTo.js +32 -0
- package/package/database/node_modules/lodash/constant.js +26 -0
- package/package/database/node_modules/lodash/core.js +3877 -0
- package/package/database/node_modules/lodash/core.min.js +29 -0
- package/package/database/node_modules/lodash/countBy.js +40 -0
- package/package/database/node_modules/lodash/create.js +43 -0
- package/package/database/node_modules/lodash/curry.js +57 -0
- package/package/database/node_modules/lodash/curryRight.js +54 -0
- package/package/database/node_modules/lodash/date.js +3 -0
- package/package/database/node_modules/lodash/debounce.js +191 -0
- package/package/database/node_modules/lodash/deburr.js +45 -0
- package/package/database/node_modules/lodash/defaultTo.js +25 -0
- package/package/database/node_modules/lodash/defaults.js +64 -0
- package/package/database/node_modules/lodash/defaultsDeep.js +30 -0
- package/package/database/node_modules/lodash/defer.js +26 -0
- package/package/database/node_modules/lodash/delay.js +28 -0
- package/package/database/node_modules/lodash/difference.js +33 -0
- package/package/database/node_modules/lodash/differenceBy.js +44 -0
- package/package/database/node_modules/lodash/differenceWith.js +40 -0
- package/package/database/node_modules/lodash/divide.js +22 -0
- package/package/database/node_modules/lodash/drop.js +38 -0
- package/package/database/node_modules/lodash/dropRight.js +39 -0
- package/package/database/node_modules/lodash/dropRightWhile.js +45 -0
- package/package/database/node_modules/lodash/dropWhile.js +45 -0
- package/package/database/node_modules/lodash/each.js +1 -0
- package/package/database/node_modules/lodash/eachRight.js +1 -0
- package/package/database/node_modules/lodash/endsWith.js +43 -0
- package/package/database/node_modules/lodash/entries.js +1 -0
- package/package/database/node_modules/lodash/entriesIn.js +1 -0
- package/package/database/node_modules/lodash/eq.js +37 -0
- package/package/database/node_modules/lodash/escape.js +43 -0
- package/package/database/node_modules/lodash/escapeRegExp.js +32 -0
- package/package/database/node_modules/lodash/every.js +56 -0
- package/package/database/node_modules/lodash/extend.js +1 -0
- package/package/database/node_modules/lodash/extendWith.js +1 -0
- package/package/database/node_modules/lodash/fill.js +45 -0
- package/package/database/node_modules/lodash/filter.js +52 -0
- package/package/database/node_modules/lodash/find.js +42 -0
- package/package/database/node_modules/lodash/findIndex.js +55 -0
- package/package/database/node_modules/lodash/findKey.js +44 -0
- package/package/database/node_modules/lodash/findLast.js +25 -0
- package/package/database/node_modules/lodash/findLastIndex.js +59 -0
- package/package/database/node_modules/lodash/findLastKey.js +44 -0
- package/package/database/node_modules/lodash/first.js +1 -0
- package/package/database/node_modules/lodash/flake.lock +40 -0
- package/package/database/node_modules/lodash/flake.nix +20 -0
- package/package/database/node_modules/lodash/flatMap.js +29 -0
- package/package/database/node_modules/lodash/flatMapDeep.js +31 -0
- package/package/database/node_modules/lodash/flatMapDepth.js +31 -0
- package/package/database/node_modules/lodash/flatten.js +22 -0
- package/package/database/node_modules/lodash/flattenDeep.js +25 -0
- package/package/database/node_modules/lodash/flattenDepth.js +33 -0
- package/package/database/node_modules/lodash/flip.js +28 -0
- package/package/database/node_modules/lodash/floor.js +26 -0
- package/package/database/node_modules/lodash/flow.js +27 -0
- package/package/database/node_modules/lodash/flowRight.js +26 -0
- package/package/database/node_modules/lodash/forEach.js +41 -0
- package/package/database/node_modules/lodash/forEachRight.js +31 -0
- package/package/database/node_modules/lodash/forIn.js +39 -0
- package/package/database/node_modules/lodash/forInRight.js +37 -0
- package/package/database/node_modules/lodash/forOwn.js +36 -0
- package/package/database/node_modules/lodash/forOwnRight.js +34 -0
- package/package/database/node_modules/lodash/fp/F.js +1 -0
- package/package/database/node_modules/lodash/fp/add.js +5 -0
- package/package/database/node_modules/lodash/fp/after.js +5 -0
- package/package/database/node_modules/lodash/fp/all.js +1 -0
- package/package/database/node_modules/lodash/fp/allPass.js +1 -0
- package/package/database/node_modules/lodash/fp/always.js +1 -0
- package/package/database/node_modules/lodash/fp/any.js +1 -0
- package/package/database/node_modules/lodash/fp/anyPass.js +1 -0
- package/package/database/node_modules/lodash/fp/apply.js +1 -0
- package/package/database/node_modules/lodash/fp/array.js +2 -0
- package/package/database/node_modules/lodash/fp/ary.js +5 -0
- package/package/database/node_modules/lodash/fp/assign.js +5 -0
- package/package/database/node_modules/lodash/fp/assignAll.js +5 -0
- package/package/database/node_modules/lodash/fp/assignAllWith.js +5 -0
- package/package/database/node_modules/lodash/fp/assignIn.js +5 -0
- package/package/database/node_modules/lodash/fp/assignInAll.js +5 -0
- package/package/database/node_modules/lodash/fp/assignInAllWith.js +5 -0
- package/package/database/node_modules/lodash/fp/assignInWith.js +5 -0
- package/package/database/node_modules/lodash/fp/assignWith.js +5 -0
- package/package/database/node_modules/lodash/fp/assoc.js +1 -0
- package/package/database/node_modules/lodash/fp/assocPath.js +1 -0
- package/package/database/node_modules/lodash/fp/at.js +5 -0
- package/package/database/node_modules/lodash/fp/attempt.js +5 -0
- package/package/database/node_modules/lodash/fp/before.js +5 -0
- package/package/database/node_modules/lodash/fp/bind.js +5 -0
- package/package/database/node_modules/lodash/fp/bindAll.js +5 -0
- package/package/database/node_modules/lodash/fp/bindKey.js +5 -0
- package/package/database/node_modules/lodash/fp/camelCase.js +5 -0
- package/package/database/node_modules/lodash/fp/capitalize.js +5 -0
- package/package/database/node_modules/lodash/fp/castArray.js +5 -0
- package/package/database/node_modules/lodash/fp/ceil.js +5 -0
- package/package/database/node_modules/lodash/fp/chain.js +5 -0
- package/package/database/node_modules/lodash/fp/chunk.js +5 -0
- package/package/database/node_modules/lodash/fp/clamp.js +5 -0
- package/package/database/node_modules/lodash/fp/clone.js +5 -0
- package/package/database/node_modules/lodash/fp/cloneDeep.js +5 -0
- package/package/database/node_modules/lodash/fp/cloneDeepWith.js +5 -0
- package/package/database/node_modules/lodash/fp/cloneWith.js +5 -0
- package/package/database/node_modules/lodash/fp/collection.js +2 -0
- package/package/database/node_modules/lodash/fp/commit.js +5 -0
- package/package/database/node_modules/lodash/fp/compact.js +5 -0
- package/package/database/node_modules/lodash/fp/complement.js +1 -0
- package/package/database/node_modules/lodash/fp/compose.js +1 -0
- package/package/database/node_modules/lodash/fp/concat.js +5 -0
- package/package/database/node_modules/lodash/fp/cond.js +5 -0
- package/package/database/node_modules/lodash/fp/conforms.js +1 -0
- package/package/database/node_modules/lodash/fp/conformsTo.js +5 -0
- package/package/database/node_modules/lodash/fp/constant.js +5 -0
- package/package/database/node_modules/lodash/fp/contains.js +1 -0
- package/package/database/node_modules/lodash/fp/convert.js +18 -0
- package/package/database/node_modules/lodash/fp/countBy.js +5 -0
- package/package/database/node_modules/lodash/fp/create.js +5 -0
- package/package/database/node_modules/lodash/fp/curry.js +5 -0
- package/package/database/node_modules/lodash/fp/curryN.js +5 -0
- package/package/database/node_modules/lodash/fp/curryRight.js +5 -0
- package/package/database/node_modules/lodash/fp/curryRightN.js +5 -0
- package/package/database/node_modules/lodash/fp/date.js +2 -0
- package/package/database/node_modules/lodash/fp/debounce.js +5 -0
- package/package/database/node_modules/lodash/fp/deburr.js +5 -0
- package/package/database/node_modules/lodash/fp/defaultTo.js +5 -0
- package/package/database/node_modules/lodash/fp/defaults.js +5 -0
- package/package/database/node_modules/lodash/fp/defaultsAll.js +5 -0
- package/package/database/node_modules/lodash/fp/defaultsDeep.js +5 -0
- package/package/database/node_modules/lodash/fp/defaultsDeepAll.js +5 -0
- package/package/database/node_modules/lodash/fp/defer.js +5 -0
- package/package/database/node_modules/lodash/fp/delay.js +5 -0
- package/package/database/node_modules/lodash/fp/difference.js +5 -0
- package/package/database/node_modules/lodash/fp/differenceBy.js +5 -0
- package/package/database/node_modules/lodash/fp/differenceWith.js +5 -0
- package/package/database/node_modules/lodash/fp/dissoc.js +1 -0
- package/package/database/node_modules/lodash/fp/dissocPath.js +1 -0
- package/package/database/node_modules/lodash/fp/divide.js +5 -0
- package/package/database/node_modules/lodash/fp/drop.js +5 -0
- package/package/database/node_modules/lodash/fp/dropLast.js +1 -0
- package/package/database/node_modules/lodash/fp/dropLastWhile.js +1 -0
- package/package/database/node_modules/lodash/fp/dropRight.js +5 -0
- package/package/database/node_modules/lodash/fp/dropRightWhile.js +5 -0
- package/package/database/node_modules/lodash/fp/dropWhile.js +5 -0
- package/package/database/node_modules/lodash/fp/each.js +1 -0
- package/package/database/node_modules/lodash/fp/eachRight.js +1 -0
- package/package/database/node_modules/lodash/fp/endsWith.js +5 -0
- package/package/database/node_modules/lodash/fp/entries.js +1 -0
- package/package/database/node_modules/lodash/fp/entriesIn.js +1 -0
- package/package/database/node_modules/lodash/fp/eq.js +5 -0
- package/package/database/node_modules/lodash/fp/equals.js +1 -0
- package/package/database/node_modules/lodash/fp/escape.js +5 -0
- package/package/database/node_modules/lodash/fp/escapeRegExp.js +5 -0
- package/package/database/node_modules/lodash/fp/every.js +5 -0
- package/package/database/node_modules/lodash/fp/extend.js +1 -0
- package/package/database/node_modules/lodash/fp/extendAll.js +1 -0
- package/package/database/node_modules/lodash/fp/extendAllWith.js +1 -0
- package/package/database/node_modules/lodash/fp/extendWith.js +1 -0
- package/package/database/node_modules/lodash/fp/fill.js +5 -0
- package/package/database/node_modules/lodash/fp/filter.js +5 -0
- package/package/database/node_modules/lodash/fp/find.js +5 -0
- package/package/database/node_modules/lodash/fp/findFrom.js +5 -0
- package/package/database/node_modules/lodash/fp/findIndex.js +5 -0
- package/package/database/node_modules/lodash/fp/findIndexFrom.js +5 -0
- package/package/database/node_modules/lodash/fp/findKey.js +5 -0
- package/package/database/node_modules/lodash/fp/findLast.js +5 -0
- package/package/database/node_modules/lodash/fp.js +2 -0
- package/package/database/node_modules/lodash/fromPairs.js +28 -0
- package/package/database/node_modules/lodash/function.js +25 -0
- package/package/database/node_modules/lodash/functions.js +31 -0
- package/package/database/node_modules/lodash/functionsIn.js +31 -0
- package/package/database/node_modules/lodash/get.js +33 -0
- package/package/database/node_modules/node-fetch/CHANGELOG.md +266 -0
- package/package/database/node_modules/node-fetch/LICENSE.md +22 -0
- package/package/database/node_modules/node-fetch/README.md +583 -0
- package/package/database/node_modules/node-fetch/browser.js +23 -0
- package/package/database/node_modules/node-fetch/lib/index.es.js +1633 -0
- package/package/database/node_modules/node-fetch/lib/index.js +1642 -0
- package/package/database/node_modules/node-fetch/lib/index.mjs +1631 -0
- package/package/database/node_modules/node-fetch/package.json +70 -0
- package/package/database/node_modules/sqlite3/CHANGELOG.md +313 -0
- package/package/database/node_modules/sqlite3/CONTRIBUTING.md +57 -0
- package/package/database/node_modules/sqlite3/LICENSE +25 -0
- package/package/database/node_modules/sqlite3/README.md +259 -0
- package/package/database/node_modules/sqlite3/binding.gyp +66 -0
- package/package/database/node_modules/sqlite3/deps/common-sqlite.gypi +60 -0
- package/package/database/node_modules/sqlite3/deps/extract.js +10 -0
- package/package/database/node_modules/sqlite3/deps/sqlite-autoconf-3380200.tar.gz +0 -0
- package/package/database/node_modules/sqlite3/deps/sqlite3.gyp +121 -0
- package/package/database/node_modules/sqlite3/lib/binding/napi-v6-linux-x64/node_sqlite3.node +0 -0
- package/package/database/node_modules/sqlite3/lib/index.js +1 -0
- package/package/database/node_modules/sqlite3/lib/sqlite3-binding.js +5 -0
- package/package/database/node_modules/sqlite3/lib/sqlite3.js +205 -0
- package/package/database/node_modules/sqlite3/lib/trace.js +38 -0
- package/package/database/node_modules/sqlite3/package.json +82 -0
- package/package/database/node_modules/sqlite3/sqlite3.js +1 -0
- package/package/database/node_modules/sqlite3/src/async.h +82 -0
- package/package/database/node_modules/sqlite3/src/backup.cc +420 -0
- package/package/database/node_modules/sqlite3/src/backup.h +221 -0
- package/package/database/node_modules/sqlite3/src/database.cc +738 -0
- package/package/database/node_modules/sqlite3/src/database.h +206 -0
- package/package/database/node_modules/sqlite3/src/gcc-preinclude.h +6 -0
- package/package/database/node_modules/sqlite3/src/macros.h +212 -0
- package/package/database/node_modules/sqlite3/src/node_sqlite3.cc +115 -0
- package/package/database/node_modules/sqlite3/src/statement.cc +947 -0
- package/package/database/node_modules/sqlite3/src/statement.h +249 -0
- package/package/database/node_modules/sqlite3/src/threading.h +48 -0
- package/package/database/package.json +31 -0
- package/package/database/readme.md +8 -0
- package/package/database/test.js +3 -0
- package/package/horizon-sp/README.md +11 -0
- package/package/horizon-sp/index.js +41 -0
- package/package/horizon-sp/logger.js +16 -0
- package/package/horizon-sp/node_modules/.package-lock.json +140 -0
- package/package/horizon-sp/node_modules/asynckit/LICENSE +21 -0
- package/package/horizon-sp/node_modules/asynckit/README.md +233 -0
- package/package/horizon-sp/node_modules/asynckit/bench.js +76 -0
- package/package/horizon-sp/node_modules/asynckit/index.js +6 -0
- package/package/horizon-sp/node_modules/asynckit/lib/abort.js +29 -0
- package/package/horizon-sp/node_modules/asynckit/lib/async.js +34 -0
- package/package/horizon-sp/node_modules/asynckit/lib/defer.js +26 -0
- package/package/horizon-sp/node_modules/asynckit/lib/iterate.js +75 -0
- package/package/horizon-sp/node_modules/asynckit/lib/readable_asynckit.js +91 -0
- package/package/horizon-sp/node_modules/asynckit/lib/readable_parallel.js +25 -0
- package/package/horizon-sp/node_modules/asynckit/lib/readable_serial.js +25 -0
- package/package/horizon-sp/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
- package/package/horizon-sp/node_modules/asynckit/lib/state.js +37 -0
- package/package/horizon-sp/node_modules/asynckit/lib/streamify.js +141 -0
- package/package/horizon-sp/node_modules/asynckit/lib/terminator.js +29 -0
- package/package/horizon-sp/node_modules/asynckit/package.json +63 -0
- package/package/horizon-sp/node_modules/asynckit/parallel.js +43 -0
- package/package/horizon-sp/node_modules/asynckit/serial.js +17 -0
- package/package/horizon-sp/node_modules/asynckit/serialOrdered.js +75 -0
- package/package/horizon-sp/node_modules/asynckit/stream.js +21 -0
- package/package/horizon-sp/node_modules/axios/CHANGELOG.md +410 -0
- package/package/horizon-sp/node_modules/axios/LICENSE +7 -0
- package/package/horizon-sp/node_modules/axios/MIGRATION_GUIDE.md +3 -0
- package/package/horizon-sp/node_modules/axios/README.md +1310 -0
- package/package/horizon-sp/node_modules/axios/SECURITY.md +6 -0
- package/package/horizon-sp/node_modules/axios/index.d.cts +524 -0
- package/package/horizon-sp/node_modules/axios/index.d.ts +539 -0
- package/package/horizon-sp/node_modules/axios/index.js +41 -0
- package/package/horizon-sp/node_modules/axios/lib/adapters/README.md +37 -0
- package/package/horizon-sp/node_modules/axios/lib/adapters/adapters.js +59 -0
- package/package/horizon-sp/node_modules/axios/lib/adapters/http.js +608 -0
- package/package/horizon-sp/node_modules/axios/lib/adapters/xhr.js +249 -0
- package/package/horizon-sp/node_modules/axios/lib/axios.js +86 -0
- package/package/horizon-sp/node_modules/axios/lib/cancel/CancelToken.js +121 -0
- package/package/horizon-sp/node_modules/axios/lib/cancel/CanceledError.js +25 -0
- package/package/horizon-sp/node_modules/axios/lib/cancel/isCancel.js +5 -0
- package/package/horizon-sp/node_modules/axios/lib/core/Axios.js +197 -0
- package/package/horizon-sp/node_modules/axios/lib/core/AxiosError.js +100 -0
- package/package/horizon-sp/node_modules/axios/lib/core/AxiosHeaders.js +274 -0
- package/package/horizon-sp/node_modules/axios/lib/core/InterceptorManager.js +71 -0
- package/package/horizon-sp/node_modules/axios/lib/core/README.md +8 -0
- package/package/horizon-sp/node_modules/axios/lib/core/buildFullPath.js +21 -0
- package/package/horizon-sp/node_modules/axios/lib/core/dispatchRequest.js +81 -0
- package/package/horizon-sp/node_modules/axios/lib/core/mergeConfig.js +105 -0
- package/package/horizon-sp/node_modules/axios/lib/core/settle.js +27 -0
- package/package/horizon-sp/node_modules/axios/lib/core/transformData.js +28 -0
- package/package/horizon-sp/node_modules/axios/lib/defaults/index.js +166 -0
- package/package/horizon-sp/node_modules/axios/lib/defaults/transitional.js +7 -0
- package/package/horizon-sp/node_modules/axios/lib/env/README.md +3 -0
- package/package/horizon-sp/node_modules/axios/lib/env/classes/FormData.js +2 -0
- package/package/horizon-sp/node_modules/axios/lib/env/data.js +1 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/AxiosTransformStream.js +191 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/AxiosURLSearchParams.js +58 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/HttpStatusCode.js +71 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/README.md +7 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/bind.js +7 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/buildURL.js +63 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/combineURLs.js +15 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/cookies.js +52 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/deprecatedMethod.js +26 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/formDataToJSON.js +92 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/fromDataURI.js +53 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/isAbsoluteURL.js +15 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/isAxiosError.js +14 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/isURLSameOrigin.js +67 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/null.js +2 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/parseHeaders.js +55 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/parseProtocol.js +6 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/speedometer.js +55 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/spread.js +28 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/throttle.js +33 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/toFormData.js +229 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/toURLEncodedForm.js +18 -0
- package/package/horizon-sp/node_modules/axios/lib/helpers/validator.js +91 -0
- package/package/horizon-sp/node_modules/axios/lib/platform/browser/classes/FormData.js +3 -0
- package/package/horizon-sp/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js +4 -0
- package/package/horizon-sp/node_modules/axios/lib/platform/browser/index.js +63 -0
- package/package/horizon-sp/node_modules/axios/lib/platform/index.js +3 -0
- package/package/horizon-sp/node_modules/axios/lib/platform/node/classes/FormData.js +3 -0
- package/package/horizon-sp/node_modules/axios/lib/platform/node/classes/URLSearchParams.js +4 -0
- package/package/horizon-sp/node_modules/axios/lib/platform/node/index.js +12 -0
- package/package/horizon-sp/node_modules/axios/lib/utils.js +677 -0
- package/package/horizon-sp/node_modules/axios/package.json +197 -0
- package/package/horizon-sp/node_modules/child_process/README.md +9 -0
- package/package/horizon-sp/node_modules/child_process/package.json +20 -0
- package/package/horizon-sp/node_modules/combined-stream/License +19 -0
- package/package/horizon-sp/node_modules/combined-stream/Readme.md +138 -0
- package/package/horizon-sp/node_modules/combined-stream/lib/combined_stream.js +208 -0
- package/package/horizon-sp/node_modules/combined-stream/package.json +25 -0
- package/package/horizon-sp/node_modules/delayed-stream/License +19 -0
- package/package/horizon-sp/node_modules/delayed-stream/Makefile +7 -0
- package/package/horizon-sp/node_modules/delayed-stream/Readme.md +141 -0
- package/package/horizon-sp/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
- package/package/horizon-sp/node_modules/delayed-stream/package.json +27 -0
- package/package/horizon-sp/node_modules/follow-redirects/LICENSE +18 -0
- package/package/horizon-sp/node_modules/follow-redirects/README.md +155 -0
- package/package/horizon-sp/node_modules/follow-redirects/debug.js +15 -0
- package/package/horizon-sp/node_modules/follow-redirects/http.js +1 -0
- package/package/horizon-sp/node_modules/follow-redirects/https.js +1 -0
- package/package/horizon-sp/node_modules/follow-redirects/index.js +621 -0
- package/package/horizon-sp/node_modules/follow-redirects/package.json +59 -0
- package/package/horizon-sp/node_modules/form-data/License +19 -0
- package/package/horizon-sp/node_modules/form-data/README.md.bak +358 -0
- package/package/horizon-sp/node_modules/form-data/Readme.md +358 -0
- package/package/horizon-sp/node_modules/form-data/index.d.ts +62 -0
- package/package/horizon-sp/node_modules/form-data/lib/browser.js +2 -0
- package/package/horizon-sp/node_modules/form-data/lib/form_data.js +501 -0
- package/package/horizon-sp/node_modules/form-data/lib/populate.js +10 -0
- package/package/horizon-sp/node_modules/form-data/package.json +68 -0
- package/package/horizon-sp/node_modules/fs-extra/LICENSE +15 -0
- package/package/horizon-sp/node_modules/fs-extra/README.md +290 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/copy/copy-sync.js +161 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/copy/copy.js +238 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/copy/index.js +7 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/empty/index.js +39 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/ensure/file.js +69 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/ensure/index.js +23 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/ensure/link.js +64 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/ensure/symlink-paths.js +99 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/ensure/symlink-type.js +31 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/ensure/symlink.js +82 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/esm.mjs +68 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/fs/index.js +140 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/index.js +16 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/json/index.js +16 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/json/jsonfile.js +11 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/json/output-json-sync.js +12 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/json/output-json.js +12 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/mkdirs/index.js +14 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/mkdirs/make-dir.js +27 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/mkdirs/utils.js +21 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/move/index.js +7 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/move/move-sync.js +54 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/move/move.js +75 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/output-file/index.js +40 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/path-exists/index.js +12 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/remove/index.js +17 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/util/stat.js +154 -0
- package/package/horizon-sp/node_modules/fs-extra/lib/util/utimes.js +26 -0
- package/package/horizon-sp/node_modules/fs-extra/package.json +71 -0
- package/package/horizon-sp/node_modules/graceful-fs/LICENSE +15 -0
- package/package/horizon-sp/node_modules/graceful-fs/README.md +143 -0
- package/package/horizon-sp/node_modules/graceful-fs/clone.js +23 -0
- package/package/horizon-sp/node_modules/graceful-fs/graceful-fs.js +448 -0
- package/package/horizon-sp/node_modules/graceful-fs/legacy-streams.js +118 -0
- package/package/horizon-sp/node_modules/graceful-fs/package.json +50 -0
- package/package/horizon-sp/node_modules/graceful-fs/polyfills.js +355 -0
- package/package/horizon-sp/node_modules/jsonfile/CHANGELOG.md +171 -0
- package/package/horizon-sp/node_modules/jsonfile/LICENSE +15 -0
- package/package/horizon-sp/node_modules/jsonfile/README.md +230 -0
- package/package/horizon-sp/node_modules/jsonfile/index.js +88 -0
- package/package/horizon-sp/node_modules/jsonfile/package.json +40 -0
- package/package/horizon-sp/node_modules/jsonfile/utils.js +14 -0
- package/package/horizon-sp/node_modules/mime-db/HISTORY.md +507 -0
- package/package/horizon-sp/node_modules/mime-db/LICENSE +23 -0
- package/package/horizon-sp/node_modules/mime-db/README.md +100 -0
- package/package/horizon-sp/node_modules/mime-db/db.json +8519 -0
- package/package/horizon-sp/node_modules/mime-db/index.js +12 -0
- package/package/horizon-sp/node_modules/mime-db/package.json +60 -0
- package/package/horizon-sp/node_modules/mime-types/HISTORY.md +397 -0
- package/package/horizon-sp/node_modules/mime-types/LICENSE +23 -0
- package/package/horizon-sp/node_modules/mime-types/README.md +113 -0
- package/package/horizon-sp/node_modules/mime-types/index.js +188 -0
- package/package/horizon-sp/node_modules/mime-types/package.json +44 -0
- package/package/horizon-sp/node_modules/proxy-from-env/LICENSE +20 -0
- package/package/horizon-sp/node_modules/proxy-from-env/README.md +131 -0
- package/package/horizon-sp/node_modules/proxy-from-env/index.js +108 -0
- package/package/horizon-sp/node_modules/proxy-from-env/package.json +34 -0
- package/package/horizon-sp/node_modules/proxy-from-env/test.js +483 -0
- package/package/horizon-sp/node_modules/universalify/LICENSE +20 -0
- package/package/horizon-sp/node_modules/universalify/README.md +76 -0
- package/package/horizon-sp/node_modules/universalify/index.js +24 -0
- package/package/horizon-sp/node_modules/universalify/package.json +34 -0
- package/package/horizon-sp/package-lock.json +150 -0
- package/package/horizon-sp/package.json +20 -0
- package/package.json +134 -3
- package/src/ReportV1.js +55 -0
- package/src/addExternalModule.js +16 -0
- package/src/addUserToGroup.js +78 -0
- package/src/changeAdminStatus.js +79 -0
- package/src/changeArchivedStatus.js +41 -0
- package/src/changeAvt.js +86 -0
- package/src/changeBio.js +65 -0
- package/src/changeBlockedStatus.js +36 -0
- package/src/changeGroupImage.js +106 -0
- package/src/changeNickname.js +45 -0
- package/src/changeThreadColor.js +62 -0
- package/src/changeThreadEmoji.js +42 -0
- package/src/createNewGroup.js +70 -0
- package/src/createPoll.js +60 -0
- package/src/data/getThreadInfo.json +31985 -0
- package/src/deleteMessage.js +45 -0
- package/src/deleteThread.js +43 -0
- package/src/forwardAttachment.js +48 -0
- package/src/getAccessToken.js +33 -0
- package/src/getCurrentUserID.js +7 -0
- package/src/getEmojiUrl.js +27 -0
- package/src/getFriendsList.js +73 -0
- package/src/getMessage.js +80 -0
- package/src/getThreadHistory.js +537 -0
- package/src/getThreadHistoryDeprecated.js +71 -0
- package/src/getThreadInfo.js +193 -0
- package/src/getThreadInfoDeprecated.js +56 -0
- package/src/getThreadList.js +213 -0
- package/src/getThreadListDeprecated.js +46 -0
- package/src/getThreadMain.js +219 -0
- package/src/getThreadPictures.js +59 -0
- package/src/getUserID.js +62 -0
- package/src/getUserInfo.js +66 -0
- package/src/getUserInfoMain.js +65 -0
- package/src/getUserInfoV2.js +36 -0
- package/src/getUserInfoV3.js +63 -0
- package/src/getUserInfoV4.js +55 -0
- package/src/getUserInfoV5.js +61 -0
- package/src/handleFriendRequest.js +46 -0
- package/src/handleMessageRequest.js +49 -0
- package/src/httpGet.js +49 -0
- package/src/httpPost.js +48 -0
- package/src/httpPostFormData.js +41 -0
- package/src/listenMqtt.js +629 -0
- package/src/logout.js +68 -0
- package/src/markAsDelivered.js +48 -0
- package/src/markAsRead.js +70 -0
- package/src/markAsReadAll.js +43 -0
- package/src/markAsSeen.js +51 -0
- package/src/muteThread.js +47 -0
- package/src/removeUserFromGroup.js +49 -0
- package/src/resolvePhotoUrl.js +37 -0
- package/src/searchForThread.js +43 -0
- package/src/sendMessage.js +321 -0
- package/src/sendTypingIndicator.js +80 -0
- package/src/setMessageReaction.js +109 -0
- package/src/setPostReaction.js +102 -0
- package/src/setTitle.js +74 -0
- package/src/threadColors.js +39 -0
- package/src/unfriend.js +43 -0
- package/src/unsendMessage.js +40 -0
- package/test/example-config.json +18 -0
- package/test/test-page.js +140 -0
- package/test/test.js +385 -0
- package/utils.js +1246 -0
@@ -0,0 +1,583 @@
|
|
1
|
+
node-fetch
|
2
|
+
==========
|
3
|
+
|
4
|
+
[![npm version][npm-image]][npm-url]
|
5
|
+
[![build status][travis-image]][travis-url]
|
6
|
+
[![coverage status][codecov-image]][codecov-url]
|
7
|
+
[![install size][install-size-image]][install-size-url]
|
8
|
+
|
9
|
+
A light-weight module that brings `window.fetch` to Node.js
|
10
|
+
|
11
|
+
(We are looking for [v2 maintainers and collaborators](https://github.com/bitinn/node-fetch/issues/567))
|
12
|
+
|
13
|
+
<!-- TOC -->
|
14
|
+
|
15
|
+
- [Motivation](#motivation)
|
16
|
+
- [Features](#features)
|
17
|
+
- [Difference from client-side fetch](#difference-from-client-side-fetch)
|
18
|
+
- [Installation](#installation)
|
19
|
+
- [Loading and configuring the module](#loading-and-configuring-the-module)
|
20
|
+
- [Common Usage](#common-usage)
|
21
|
+
- [Plain text or HTML](#plain-text-or-html)
|
22
|
+
- [JSON](#json)
|
23
|
+
- [Simple Post](#simple-post)
|
24
|
+
- [Post with JSON](#post-with-json)
|
25
|
+
- [Post with form parameters](#post-with-form-parameters)
|
26
|
+
- [Handling exceptions](#handling-exceptions)
|
27
|
+
- [Handling client and server errors](#handling-client-and-server-errors)
|
28
|
+
- [Advanced Usage](#advanced-usage)
|
29
|
+
- [Streams](#streams)
|
30
|
+
- [Buffer](#buffer)
|
31
|
+
- [Accessing Headers and other Meta data](#accessing-headers-and-other-meta-data)
|
32
|
+
- [Extract Set-Cookie Header](#extract-set-cookie-header)
|
33
|
+
- [Post data using a file stream](#post-data-using-a-file-stream)
|
34
|
+
- [Post with form-data (detect multipart)](#post-with-form-data-detect-multipart)
|
35
|
+
- [Request cancellation with AbortSignal](#request-cancellation-with-abortsignal)
|
36
|
+
- [API](#api)
|
37
|
+
- [fetch(url[, options])](#fetchurl-options)
|
38
|
+
- [Options](#options)
|
39
|
+
- [Class: Request](#class-request)
|
40
|
+
- [Class: Response](#class-response)
|
41
|
+
- [Class: Headers](#class-headers)
|
42
|
+
- [Interface: Body](#interface-body)
|
43
|
+
- [Class: FetchError](#class-fetcherror)
|
44
|
+
- [License](#license)
|
45
|
+
- [Acknowledgement](#acknowledgement)
|
46
|
+
|
47
|
+
<!-- /TOC -->
|
48
|
+
|
49
|
+
## Motivation
|
50
|
+
|
51
|
+
Instead of implementing `XMLHttpRequest` in Node.js to run browser-specific [Fetch polyfill](https://github.com/github/fetch), why not go from native `http` to `fetch` API directly? Hence `node-fetch`, minimal code for a `window.fetch` compatible API on Node.js runtime.
|
52
|
+
|
53
|
+
See Matt Andrews' [isomorphic-fetch](https://github.com/matthew-andrews/isomorphic-fetch) or Leonardo Quixada's [cross-fetch](https://github.com/lquixada/cross-fetch) for isomorphic usage (exports `node-fetch` for server-side, `whatwg-fetch` for client-side).
|
54
|
+
|
55
|
+
## Features
|
56
|
+
|
57
|
+
- Stay consistent with `window.fetch` API.
|
58
|
+
- Make conscious trade-off when following [WHATWG fetch spec][whatwg-fetch] and [stream spec](https://streams.spec.whatwg.org/) implementation details, document known differences.
|
59
|
+
- Use native promise, but allow substituting it with [insert your favorite promise library].
|
60
|
+
- Use native Node streams for body, on both request and response.
|
61
|
+
- Decode content encoding (gzip/deflate) properly, and convert string output (such as `res.text()` and `res.json()`) to UTF-8 automatically.
|
62
|
+
- Useful extensions such as timeout, redirect limit, response size limit, [explicit errors](ERROR-HANDLING.md) for troubleshooting.
|
63
|
+
|
64
|
+
## Difference from client-side fetch
|
65
|
+
|
66
|
+
- See [Known Differences](LIMITS.md) for details.
|
67
|
+
- If you happen to use a missing feature that `window.fetch` offers, feel free to open an issue.
|
68
|
+
- Pull requests are welcomed too!
|
69
|
+
|
70
|
+
## Installation
|
71
|
+
|
72
|
+
Current stable release (`2.x`)
|
73
|
+
|
74
|
+
```sh
|
75
|
+
$ npm install node-fetch --save
|
76
|
+
```
|
77
|
+
|
78
|
+
## Loading and configuring the module
|
79
|
+
We suggest you load the module via `require`, pending the stabalizing of es modules in node:
|
80
|
+
```js
|
81
|
+
const fetch = require('node-fetch');
|
82
|
+
```
|
83
|
+
|
84
|
+
If you are using a Promise library other than native, set it through fetch.Promise:
|
85
|
+
```js
|
86
|
+
const Bluebird = require('bluebird');
|
87
|
+
|
88
|
+
fetch.Promise = Bluebird;
|
89
|
+
```
|
90
|
+
|
91
|
+
## Common Usage
|
92
|
+
|
93
|
+
NOTE: The documentation below is up-to-date with `2.x` releases, [see `1.x` readme](https://github.com/bitinn/node-fetch/blob/1.x/README.md), [changelog](https://github.com/bitinn/node-fetch/blob/1.x/CHANGELOG.md) and [2.x upgrade guide](UPGRADE-GUIDE.md) for the differences.
|
94
|
+
|
95
|
+
#### Plain text or HTML
|
96
|
+
```js
|
97
|
+
fetch('https://github.com/')
|
98
|
+
.then(res => res.text())
|
99
|
+
.then(body => console.log(body));
|
100
|
+
```
|
101
|
+
|
102
|
+
#### JSON
|
103
|
+
|
104
|
+
```js
|
105
|
+
|
106
|
+
fetch('https://api.github.com/users/github')
|
107
|
+
.then(res => res.json())
|
108
|
+
.then(json => console.log(json));
|
109
|
+
```
|
110
|
+
|
111
|
+
#### Simple Post
|
112
|
+
```js
|
113
|
+
fetch('https://httpbin.org/post', { method: 'POST', body: 'a=1' })
|
114
|
+
.then(res => res.json()) // expecting a json response
|
115
|
+
.then(json => console.log(json));
|
116
|
+
```
|
117
|
+
|
118
|
+
#### Post with JSON
|
119
|
+
|
120
|
+
```js
|
121
|
+
const body = { a: 1 };
|
122
|
+
|
123
|
+
fetch('https://httpbin.org/post', {
|
124
|
+
method: 'post',
|
125
|
+
body: JSON.stringify(body),
|
126
|
+
headers: { 'Content-Type': 'application/json' },
|
127
|
+
})
|
128
|
+
.then(res => res.json())
|
129
|
+
.then(json => console.log(json));
|
130
|
+
```
|
131
|
+
|
132
|
+
#### Post with form parameters
|
133
|
+
`URLSearchParams` is available in Node.js as of v7.5.0. See [official documentation](https://nodejs.org/api/url.html#url_class_urlsearchparams) for more usage methods.
|
134
|
+
|
135
|
+
NOTE: The `Content-Type` header is only set automatically to `x-www-form-urlencoded` when an instance of `URLSearchParams` is given as such:
|
136
|
+
|
137
|
+
```js
|
138
|
+
const { URLSearchParams } = require('url');
|
139
|
+
|
140
|
+
const params = new URLSearchParams();
|
141
|
+
params.append('a', 1);
|
142
|
+
|
143
|
+
fetch('https://httpbin.org/post', { method: 'POST', body: params })
|
144
|
+
.then(res => res.json())
|
145
|
+
.then(json => console.log(json));
|
146
|
+
```
|
147
|
+
|
148
|
+
#### Handling exceptions
|
149
|
+
NOTE: 3xx-5xx responses are *NOT* exceptions, and should be handled in `then()`, see the next section.
|
150
|
+
|
151
|
+
Adding a catch to the fetch promise chain will catch *all* exceptions, such as errors originating from node core libraries, like network errors, and operational errors which are instances of FetchError. See the [error handling document](ERROR-HANDLING.md) for more details.
|
152
|
+
|
153
|
+
```js
|
154
|
+
fetch('https://domain.invalid/')
|
155
|
+
.catch(err => console.error(err));
|
156
|
+
```
|
157
|
+
|
158
|
+
#### Handling client and server errors
|
159
|
+
It is common to create a helper function to check that the response contains no client (4xx) or server (5xx) error responses:
|
160
|
+
|
161
|
+
```js
|
162
|
+
function checkStatus(res) {
|
163
|
+
if (res.ok) { // res.status >= 200 && res.status < 300
|
164
|
+
return res;
|
165
|
+
} else {
|
166
|
+
throw MyCustomError(res.statusText);
|
167
|
+
}
|
168
|
+
}
|
169
|
+
|
170
|
+
fetch('https://httpbin.org/status/400')
|
171
|
+
.then(checkStatus)
|
172
|
+
.then(res => console.log('will not get here...'))
|
173
|
+
```
|
174
|
+
|
175
|
+
## Advanced Usage
|
176
|
+
|
177
|
+
#### Streams
|
178
|
+
The "Node.js way" is to use streams when possible:
|
179
|
+
|
180
|
+
```js
|
181
|
+
fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png')
|
182
|
+
.then(res => {
|
183
|
+
const dest = fs.createWriteStream('./octocat.png');
|
184
|
+
res.body.pipe(dest);
|
185
|
+
});
|
186
|
+
```
|
187
|
+
|
188
|
+
#### Buffer
|
189
|
+
If you prefer to cache binary data in full, use buffer(). (NOTE: buffer() is a `node-fetch` only API)
|
190
|
+
|
191
|
+
```js
|
192
|
+
const fileType = require('file-type');
|
193
|
+
|
194
|
+
fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png')
|
195
|
+
.then(res => res.buffer())
|
196
|
+
.then(buffer => fileType(buffer))
|
197
|
+
.then(type => { /* ... */ });
|
198
|
+
```
|
199
|
+
|
200
|
+
#### Accessing Headers and other Meta data
|
201
|
+
```js
|
202
|
+
fetch('https://github.com/')
|
203
|
+
.then(res => {
|
204
|
+
console.log(res.ok);
|
205
|
+
console.log(res.status);
|
206
|
+
console.log(res.statusText);
|
207
|
+
console.log(res.headers.raw());
|
208
|
+
console.log(res.headers.get('content-type'));
|
209
|
+
});
|
210
|
+
```
|
211
|
+
|
212
|
+
#### Extract Set-Cookie Header
|
213
|
+
|
214
|
+
Unlike browsers, you can access raw `Set-Cookie` headers manually using `Headers.raw()`, this is a `node-fetch` only API.
|
215
|
+
|
216
|
+
```js
|
217
|
+
fetch(url).then(res => {
|
218
|
+
// returns an array of values, instead of a string of comma-separated values
|
219
|
+
console.log(res.headers.raw()['set-cookie']);
|
220
|
+
});
|
221
|
+
```
|
222
|
+
|
223
|
+
#### Post data using a file stream
|
224
|
+
|
225
|
+
```js
|
226
|
+
const { createReadStream } = require('fs');
|
227
|
+
|
228
|
+
const stream = createReadStream('input.txt');
|
229
|
+
|
230
|
+
fetch('https://httpbin.org/post', { method: 'POST', body: stream })
|
231
|
+
.then(res => res.json())
|
232
|
+
.then(json => console.log(json));
|
233
|
+
```
|
234
|
+
|
235
|
+
#### Post with form-data (detect multipart)
|
236
|
+
|
237
|
+
```js
|
238
|
+
const FormData = require('form-data');
|
239
|
+
|
240
|
+
const form = new FormData();
|
241
|
+
form.append('a', 1);
|
242
|
+
|
243
|
+
fetch('https://httpbin.org/post', { method: 'POST', body: form })
|
244
|
+
.then(res => res.json())
|
245
|
+
.then(json => console.log(json));
|
246
|
+
|
247
|
+
// OR, using custom headers
|
248
|
+
// NOTE: getHeaders() is non-standard API
|
249
|
+
|
250
|
+
const form = new FormData();
|
251
|
+
form.append('a', 1);
|
252
|
+
|
253
|
+
const options = {
|
254
|
+
method: 'POST',
|
255
|
+
body: form,
|
256
|
+
headers: form.getHeaders()
|
257
|
+
}
|
258
|
+
|
259
|
+
fetch('https://httpbin.org/post', options)
|
260
|
+
.then(res => res.json())
|
261
|
+
.then(json => console.log(json));
|
262
|
+
```
|
263
|
+
|
264
|
+
#### Request cancellation with AbortSignal
|
265
|
+
|
266
|
+
> NOTE: You may only cancel streamed requests on Node >= v8.0.0
|
267
|
+
|
268
|
+
You may cancel requests with `AbortController`. A suggested implementation is [`abort-controller`](https://www.npmjs.com/package/abort-controller).
|
269
|
+
|
270
|
+
An example of timing out a request after 150ms could be achieved as follows:
|
271
|
+
|
272
|
+
```js
|
273
|
+
import AbortController from 'abort-controller';
|
274
|
+
|
275
|
+
const controller = new AbortController();
|
276
|
+
const timeout = setTimeout(
|
277
|
+
() => { controller.abort(); },
|
278
|
+
150,
|
279
|
+
);
|
280
|
+
|
281
|
+
fetch(url, { signal: controller.signal })
|
282
|
+
.then(res => res.json())
|
283
|
+
.then(
|
284
|
+
data => {
|
285
|
+
useData(data)
|
286
|
+
},
|
287
|
+
err => {
|
288
|
+
if (err.name === 'AbortError') {
|
289
|
+
// request was aborted
|
290
|
+
}
|
291
|
+
},
|
292
|
+
)
|
293
|
+
.finally(() => {
|
294
|
+
clearTimeout(timeout);
|
295
|
+
});
|
296
|
+
```
|
297
|
+
|
298
|
+
See [test cases](https://github.com/bitinn/node-fetch/blob/master/test/test.js) for more examples.
|
299
|
+
|
300
|
+
|
301
|
+
## API
|
302
|
+
|
303
|
+
### fetch(url[, options])
|
304
|
+
|
305
|
+
- `url` A string representing the URL for fetching
|
306
|
+
- `options` [Options](#fetch-options) for the HTTP(S) request
|
307
|
+
- Returns: <code>Promise<[Response](#class-response)></code>
|
308
|
+
|
309
|
+
Perform an HTTP(S) fetch.
|
310
|
+
|
311
|
+
`url` should be an absolute url, such as `https://example.com/`. A path-relative URL (`/file/under/root`) or protocol-relative URL (`//can-be-http-or-https.com/`) will result in a rejected promise.
|
312
|
+
|
313
|
+
<a id="fetch-options"></a>
|
314
|
+
### Options
|
315
|
+
|
316
|
+
The default values are shown after each option key.
|
317
|
+
|
318
|
+
```js
|
319
|
+
{
|
320
|
+
// These properties are part of the Fetch Standard
|
321
|
+
method: 'GET',
|
322
|
+
headers: {}, // request headers. format is the identical to that accepted by the Headers constructor (see below)
|
323
|
+
body: null, // request body. can be null, a string, a Buffer, a Blob, or a Node.js Readable stream
|
324
|
+
redirect: 'follow', // set to `manual` to extract redirect headers, `error` to reject redirect
|
325
|
+
signal: null, // pass an instance of AbortSignal to optionally abort requests
|
326
|
+
|
327
|
+
// The following properties are node-fetch extensions
|
328
|
+
follow: 20, // maximum redirect count. 0 to not follow redirect
|
329
|
+
timeout: 0, // req/res timeout in ms, it resets on redirect. 0 to disable (OS limit applies). Signal is recommended instead.
|
330
|
+
compress: true, // support gzip/deflate content encoding. false to disable
|
331
|
+
size: 0, // maximum response body size in bytes. 0 to disable
|
332
|
+
agent: null // http(s).Agent instance or function that returns an instance (see below)
|
333
|
+
}
|
334
|
+
```
|
335
|
+
|
336
|
+
##### Default Headers
|
337
|
+
|
338
|
+
If no values are set, the following request headers will be sent automatically:
|
339
|
+
|
340
|
+
Header | Value
|
341
|
+
------------------- | --------------------------------------------------------
|
342
|
+
`Accept-Encoding` | `gzip,deflate` _(when `options.compress === true`)_
|
343
|
+
`Accept` | `*/*`
|
344
|
+
`Connection` | `close` _(when no `options.agent` is present)_
|
345
|
+
`Content-Length` | _(automatically calculated, if possible)_
|
346
|
+
`Transfer-Encoding` | `chunked` _(when `req.body` is a stream)_
|
347
|
+
`User-Agent` | `node-fetch/1.0 (+https://github.com/bitinn/node-fetch)`
|
348
|
+
|
349
|
+
Note: when `body` is a `Stream`, `Content-Length` is not set automatically.
|
350
|
+
|
351
|
+
##### Custom Agent
|
352
|
+
|
353
|
+
The `agent` option allows you to specify networking related options that's out of the scope of Fetch. Including and not limit to:
|
354
|
+
|
355
|
+
- Support self-signed certificate
|
356
|
+
- Use only IPv4 or IPv6
|
357
|
+
- Custom DNS Lookup
|
358
|
+
|
359
|
+
See [`http.Agent`](https://nodejs.org/api/http.html#http_new_agent_options) for more information.
|
360
|
+
|
361
|
+
In addition, `agent` option accepts a function that returns http(s).Agent instance given current [URL](https://nodejs.org/api/url.html), this is useful during a redirection chain across HTTP and HTTPS protocol.
|
362
|
+
|
363
|
+
```js
|
364
|
+
const httpAgent = new http.Agent({
|
365
|
+
keepAlive: true
|
366
|
+
});
|
367
|
+
const httpsAgent = new https.Agent({
|
368
|
+
keepAlive: true
|
369
|
+
});
|
370
|
+
|
371
|
+
const options = {
|
372
|
+
agent: function (_parsedURL) {
|
373
|
+
if (_parsedURL.protocol == 'http:') {
|
374
|
+
return httpAgent;
|
375
|
+
} else {
|
376
|
+
return httpsAgent;
|
377
|
+
}
|
378
|
+
}
|
379
|
+
}
|
380
|
+
```
|
381
|
+
|
382
|
+
<a id="class-request"></a>
|
383
|
+
### Class: Request
|
384
|
+
|
385
|
+
An HTTP(S) request containing information about URL, method, headers, and the body. This class implements the [Body](#iface-body) interface.
|
386
|
+
|
387
|
+
Due to the nature of Node.js, the following properties are not implemented at this moment:
|
388
|
+
|
389
|
+
- `type`
|
390
|
+
- `destination`
|
391
|
+
- `referrer`
|
392
|
+
- `referrerPolicy`
|
393
|
+
- `mode`
|
394
|
+
- `credentials`
|
395
|
+
- `cache`
|
396
|
+
- `integrity`
|
397
|
+
- `keepalive`
|
398
|
+
|
399
|
+
The following node-fetch extension properties are provided:
|
400
|
+
|
401
|
+
- `follow`
|
402
|
+
- `compress`
|
403
|
+
- `counter`
|
404
|
+
- `agent`
|
405
|
+
|
406
|
+
See [options](#fetch-options) for exact meaning of these extensions.
|
407
|
+
|
408
|
+
#### new Request(input[, options])
|
409
|
+
|
410
|
+
<small>*(spec-compliant)*</small>
|
411
|
+
|
412
|
+
- `input` A string representing a URL, or another `Request` (which will be cloned)
|
413
|
+
- `options` [Options][#fetch-options] for the HTTP(S) request
|
414
|
+
|
415
|
+
Constructs a new `Request` object. The constructor is identical to that in the [browser](https://developer.mozilla.org/en-US/docs/Web/API/Request/Request).
|
416
|
+
|
417
|
+
In most cases, directly `fetch(url, options)` is simpler than creating a `Request` object.
|
418
|
+
|
419
|
+
<a id="class-response"></a>
|
420
|
+
### Class: Response
|
421
|
+
|
422
|
+
An HTTP(S) response. This class implements the [Body](#iface-body) interface.
|
423
|
+
|
424
|
+
The following properties are not implemented in node-fetch at this moment:
|
425
|
+
|
426
|
+
- `Response.error()`
|
427
|
+
- `Response.redirect()`
|
428
|
+
- `type`
|
429
|
+
- `trailer`
|
430
|
+
|
431
|
+
#### new Response([body[, options]])
|
432
|
+
|
433
|
+
<small>*(spec-compliant)*</small>
|
434
|
+
|
435
|
+
- `body` A string or [Readable stream][node-readable]
|
436
|
+
- `options` A [`ResponseInit`][response-init] options dictionary
|
437
|
+
|
438
|
+
Constructs a new `Response` object. The constructor is identical to that in the [browser](https://developer.mozilla.org/en-US/docs/Web/API/Response/Response).
|
439
|
+
|
440
|
+
Because Node.js does not implement service workers (for which this class was designed), one rarely has to construct a `Response` directly.
|
441
|
+
|
442
|
+
#### response.ok
|
443
|
+
|
444
|
+
<small>*(spec-compliant)*</small>
|
445
|
+
|
446
|
+
Convenience property representing if the request ended normally. Will evaluate to true if the response status was greater than or equal to 200 but smaller than 300.
|
447
|
+
|
448
|
+
#### response.redirected
|
449
|
+
|
450
|
+
<small>*(spec-compliant)*</small>
|
451
|
+
|
452
|
+
Convenience property representing if the request has been redirected at least once. Will evaluate to true if the internal redirect counter is greater than 0.
|
453
|
+
|
454
|
+
<a id="class-headers"></a>
|
455
|
+
### Class: Headers
|
456
|
+
|
457
|
+
This class allows manipulating and iterating over a set of HTTP headers. All methods specified in the [Fetch Standard][whatwg-fetch] are implemented.
|
458
|
+
|
459
|
+
#### new Headers([init])
|
460
|
+
|
461
|
+
<small>*(spec-compliant)*</small>
|
462
|
+
|
463
|
+
- `init` Optional argument to pre-fill the `Headers` object
|
464
|
+
|
465
|
+
Construct a new `Headers` object. `init` can be either `null`, a `Headers` object, an key-value map object, or any iterable object.
|
466
|
+
|
467
|
+
```js
|
468
|
+
// Example adapted from https://fetch.spec.whatwg.org/#example-headers-class
|
469
|
+
|
470
|
+
const meta = {
|
471
|
+
'Content-Type': 'text/xml',
|
472
|
+
'Breaking-Bad': '<3'
|
473
|
+
};
|
474
|
+
const headers = new Headers(meta);
|
475
|
+
|
476
|
+
// The above is equivalent to
|
477
|
+
const meta = [
|
478
|
+
[ 'Content-Type', 'text/xml' ],
|
479
|
+
[ 'Breaking-Bad', '<3' ]
|
480
|
+
];
|
481
|
+
const headers = new Headers(meta);
|
482
|
+
|
483
|
+
// You can in fact use any iterable objects, like a Map or even another Headers
|
484
|
+
const meta = new Map();
|
485
|
+
meta.set('Content-Type', 'text/xml');
|
486
|
+
meta.set('Breaking-Bad', '<3');
|
487
|
+
const headers = new Headers(meta);
|
488
|
+
const copyOfHeaders = new Headers(headers);
|
489
|
+
```
|
490
|
+
|
491
|
+
<a id="iface-body"></a>
|
492
|
+
### Interface: Body
|
493
|
+
|
494
|
+
`Body` is an abstract interface with methods that are applicable to both `Request` and `Response` classes.
|
495
|
+
|
496
|
+
The following methods are not yet implemented in node-fetch at this moment:
|
497
|
+
|
498
|
+
- `formData()`
|
499
|
+
|
500
|
+
#### body.body
|
501
|
+
|
502
|
+
<small>*(deviation from spec)*</small>
|
503
|
+
|
504
|
+
* Node.js [`Readable` stream][node-readable]
|
505
|
+
|
506
|
+
The data encapsulated in the `Body` object. Note that while the [Fetch Standard][whatwg-fetch] requires the property to always be a WHATWG `ReadableStream`, in node-fetch it is a Node.js [`Readable` stream][node-readable].
|
507
|
+
|
508
|
+
#### body.bodyUsed
|
509
|
+
|
510
|
+
<small>*(spec-compliant)*</small>
|
511
|
+
|
512
|
+
* `Boolean`
|
513
|
+
|
514
|
+
A boolean property for if this body has been consumed. Per spec, a consumed body cannot be used again.
|
515
|
+
|
516
|
+
#### body.arrayBuffer()
|
517
|
+
#### body.blob()
|
518
|
+
#### body.json()
|
519
|
+
#### body.text()
|
520
|
+
|
521
|
+
<small>*(spec-compliant)*</small>
|
522
|
+
|
523
|
+
* Returns: <code>Promise</code>
|
524
|
+
|
525
|
+
Consume the body and return a promise that will resolve to one of these formats.
|
526
|
+
|
527
|
+
#### body.buffer()
|
528
|
+
|
529
|
+
<small>*(node-fetch extension)*</small>
|
530
|
+
|
531
|
+
* Returns: <code>Promise<Buffer></code>
|
532
|
+
|
533
|
+
Consume the body and return a promise that will resolve to a Buffer.
|
534
|
+
|
535
|
+
#### body.textConverted()
|
536
|
+
|
537
|
+
<small>*(node-fetch extension)*</small>
|
538
|
+
|
539
|
+
* Returns: <code>Promise<String></code>
|
540
|
+
|
541
|
+
Identical to `body.text()`, except instead of always converting to UTF-8, encoding sniffing will be performed and text converted to UTF-8, if possible.
|
542
|
+
|
543
|
+
(This API requires an optional dependency on npm package [encoding](https://www.npmjs.com/package/encoding), which you need to install manually. `webpack` users may see [a warning message](https://github.com/bitinn/node-fetch/issues/412#issuecomment-379007792) due to this optional dependency.)
|
544
|
+
|
545
|
+
<a id="class-fetcherror"></a>
|
546
|
+
### Class: FetchError
|
547
|
+
|
548
|
+
<small>*(node-fetch extension)*</small>
|
549
|
+
|
550
|
+
An operational error in the fetching process. See [ERROR-HANDLING.md][] for more info.
|
551
|
+
|
552
|
+
<a id="class-aborterror"></a>
|
553
|
+
### Class: AbortError
|
554
|
+
|
555
|
+
<small>*(node-fetch extension)*</small>
|
556
|
+
|
557
|
+
An Error thrown when the request is aborted in response to an `AbortSignal`'s `abort` event. It has a `name` property of `AbortError`. See [ERROR-HANDLING.MD][] for more info.
|
558
|
+
|
559
|
+
## Acknowledgement
|
560
|
+
|
561
|
+
Thanks to [github/fetch](https://github.com/github/fetch) for providing a solid implementation reference.
|
562
|
+
|
563
|
+
`node-fetch` v1 was maintained by [@bitinn](https://github.com/bitinn); v2 was maintained by [@TimothyGu](https://github.com/timothygu), [@bitinn](https://github.com/bitinn) and [@jimmywarting](https://github.com/jimmywarting); v2 readme is written by [@jkantr](https://github.com/jkantr).
|
564
|
+
|
565
|
+
## License
|
566
|
+
|
567
|
+
MIT
|
568
|
+
|
569
|
+
[npm-image]: https://flat.badgen.net/npm/v/node-fetch
|
570
|
+
[npm-url]: https://www.npmjs.com/package/node-fetch
|
571
|
+
[travis-image]: https://flat.badgen.net/travis/bitinn/node-fetch
|
572
|
+
[travis-url]: https://travis-ci.org/bitinn/node-fetch
|
573
|
+
[codecov-image]: https://flat.badgen.net/codecov/c/github/bitinn/node-fetch/master
|
574
|
+
[codecov-url]: https://codecov.io/gh/bitinn/node-fetch
|
575
|
+
[install-size-image]: https://flat.badgen.net/packagephobia/install/node-fetch
|
576
|
+
[install-size-url]: https://packagephobia.now.sh/result?p=node-fetch
|
577
|
+
[whatwg-fetch]: https://fetch.spec.whatwg.org/
|
578
|
+
[response-init]: https://fetch.spec.whatwg.org/#responseinit
|
579
|
+
[node-readable]: https://nodejs.org/api/stream.html#stream_readable_streams
|
580
|
+
[mdn-headers]: https://developer.mozilla.org/en-US/docs/Web/API/Headers
|
581
|
+
[LIMITS.md]: https://github.com/bitinn/node-fetch/blob/master/LIMITS.md
|
582
|
+
[ERROR-HANDLING.md]: https://github.com/bitinn/node-fetch/blob/master/ERROR-HANDLING.md
|
583
|
+
[UPGRADE-GUIDE.md]: https://github.com/bitinn/node-fetch/blob/master/UPGRADE-GUIDE.md
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
// ref: https://github.com/tc39/proposal-global
|
4
|
+
var getGlobal = function () {
|
5
|
+
// the only reliable means to get the global object is
|
6
|
+
// `Function('return this')()`
|
7
|
+
// However, this causes CSP violations in Chrome apps.
|
8
|
+
if (typeof self !== 'undefined') { return self; }
|
9
|
+
if (typeof window !== 'undefined') { return window; }
|
10
|
+
if (typeof global !== 'undefined') { return global; }
|
11
|
+
throw new Error('unable to locate global object');
|
12
|
+
}
|
13
|
+
|
14
|
+
var global = getGlobal();
|
15
|
+
|
16
|
+
module.exports = exports = global.fetch;
|
17
|
+
|
18
|
+
// Needed for TypeScript and Webpack.
|
19
|
+
exports.default = global.fetch.bind(global);
|
20
|
+
|
21
|
+
exports.Headers = global.Headers;
|
22
|
+
exports.Request = global.Request;
|
23
|
+
exports.Response = global.Response;
|