aboutsummaryrefslogtreecommitdiffstats
path: root/app/scripts/lib/createErrorMiddleware.js
diff options
context:
space:
mode:
authorDan Finlay <dan@danfinlay.com>2018-08-21 06:39:03 +0800
committerDan Finlay <dan@danfinlay.com>2018-08-21 06:45:50 +0800
commit6ce119d1fbf458fa93c63198da7e5bff3045d955 (patch)
treefb18f9bbad5317ec68a6e4388a50c24f5bd027f8 /app/scripts/lib/createErrorMiddleware.js
parent887cad973f25f43d2d4502ff31657f156a44b188 (diff)
downloadtangerine-wallet-browser-6ce119d1fbf458fa93c63198da7e5bff3045d955.tar
tangerine-wallet-browser-6ce119d1fbf458fa93c63198da7e5bff3045d955.tar.gz
tangerine-wallet-browser-6ce119d1fbf458fa93c63198da7e5bff3045d955.tar.bz2
tangerine-wallet-browser-6ce119d1fbf458fa93c63198da7e5bff3045d955.tar.lz
tangerine-wallet-browser-6ce119d1fbf458fa93c63198da7e5bff3045d955.tar.xz
tangerine-wallet-browser-6ce119d1fbf458fa93c63198da7e5bff3045d955.tar.zst
tangerine-wallet-browser-6ce119d1fbf458fa93c63198da7e5bff3045d955.zip
Move inpage-provider and port-stream outside
With the creation of the [metamask-extension-provider](https://github.com/MetaMask/metamask-extension-provider) we have our first non-core module that is dependent on the inpage-provider and port-stream. To reduce the size of its dependencies, I have moved the [metamask-inpage-provider](https://github.com/MetaMask/metamask-inpage-provider) into its own module, as well as [extension-port-stream](https://github.com/MetaMask/extension-port-stream). This allows them to be more easily depended & iterated on by external projects.
Diffstat (limited to 'app/scripts/lib/createErrorMiddleware.js')
-rw-r--r--app/scripts/lib/createErrorMiddleware.js67
1 files changed, 0 insertions, 67 deletions
diff --git a/app/scripts/lib/createErrorMiddleware.js b/app/scripts/lib/createErrorMiddleware.js
deleted file mode 100644
index 7f6a4bd73..000000000
--- a/app/scripts/lib/createErrorMiddleware.js
+++ /dev/null
@@ -1,67 +0,0 @@
-const log = require('loglevel')
-
-/**
- * JSON-RPC error object
- *
- * @typedef {Object} RpcError
- * @property {number} code - Indicates the error type that occurred
- * @property {Object} [data] - Contains additional information about the error
- * @property {string} [message] - Short description of the error
- */
-
-/**
- * Middleware configuration object
- *
- * @typedef {Object} MiddlewareConfig
- * @property {boolean} [override] - Use RPC_ERRORS message in place of provider message
- */
-
-/**
- * Map of standard and non-standard RPC error codes to messages
- */
-const RPC_ERRORS = {
- 1: 'An unauthorized action was attempted.',
- 2: 'A disallowed action was attempted.',
- 3: 'An execution error occurred.',
- [-32600]: 'The JSON sent is not a valid Request object.',
- [-32601]: 'The method does not exist / is not available.',
- [-32602]: 'Invalid method parameter(s).',
- [-32603]: 'Internal JSON-RPC error.',
- [-32700]: 'Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text.',
- internal: 'Internal server error.',
- unknown: 'Unknown JSON-RPC error.',
-}
-
-/**
- * Modifies a JSON-RPC error object in-place to add a human-readable message,
- * optionally overriding any provider-supplied message
- *
- * @param {RpcError} error - JSON-RPC error object
- * @param {boolean} override - Use RPC_ERRORS message in place of provider message
- */
-function sanitizeRPCError (error, override) {
- if (error.message && !override) { return error }
- const message = error.code > -31099 && error.code < -32100 ? RPC_ERRORS.internal : RPC_ERRORS[error.code]
- error.message = message || RPC_ERRORS.unknown
-}
-
-/**
- * json-rpc-engine middleware that both logs standard and non-standard error
- * messages and ends middleware stack traversal if an error is encountered
- *
- * @param {MiddlewareConfig} [config={override:true}] - Middleware configuration
- * @returns {Function} json-rpc-engine middleware function
- */
-function createErrorMiddleware ({ override = true } = {}) {
- return (req, res, next) => {
- next(done => {
- const { error } = res
- if (!error) { return done() }
- sanitizeRPCError(error)
- log.error(`MetaMask - RPC Error: ${error.message}`, error)
- done()
- })
- }
-}
-
-module.exports = createErrorMiddleware