mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
33 lines
852 B
JavaScript
33 lines
852 B
JavaScript
|
/**
|
||
|
* Returns a middleware that implements the following RPC methods:
|
||
|
* - metamask_logInjectedWeb3Usage
|
||
|
*
|
||
|
* @param {Object} opts - The middleware options
|
||
|
* @param {string} opts.origin - The origin for the middleware stack
|
||
|
* @param {Function} opts.sendMetrics - A function for sending a metrics event
|
||
|
* @returns {(req: any, res: any, next: Function, end: Function) => void}
|
||
|
*/
|
||
|
export default function createMethodMiddleware ({ origin, sendMetrics }) {
|
||
|
return function methodMiddleware (req, res, next, end) {
|
||
|
switch (req.method) {
|
||
|
|
||
|
case 'metamask_logInjectedWeb3Usage':
|
||
|
|
||
|
const { action, name } = req.params[0]
|
||
|
|
||
|
sendMetrics({
|
||
|
action,
|
||
|
name,
|
||
|
customVariables: { origin },
|
||
|
})
|
||
|
|
||
|
res.result = true
|
||
|
break
|
||
|
|
||
|
default:
|
||
|
return next()
|
||
|
}
|
||
|
return end()
|
||
|
}
|
||
|
}
|