UNPKG

6.13 kBSource Map (JSON)View Raw
1{"version":3,"file":"stats.js","sourceRoot":"","sources":["stats.ts"],"names":[],"mappings":"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","sourcesContent":["import * as IlpPacket from 'ilp-packet'\nimport {\n Middleware,\n MiddlewareCallback,\n MiddlewareServices,\n Pipelines\n} from '../types/middleware'\nimport Stats from '../services/stats'\nimport { AccountInfo } from '../types/accounts'\n\nexport default class StatsMiddleware implements Middleware {\n private stats: Stats\n\n private getInfo: (accountId: string) => AccountInfo\n\n constructor (opts: {}, { stats, getInfo }: MiddlewareServices) {\n this.stats = stats\n this.getInfo = getInfo\n }\n\n async applyToPipelines (pipelines: Pipelines, accountId: string) {\n const accountInfo = this.getInfo(accountId)\n if (!accountInfo) {\n throw new Error('could not load info for account. accountId=' + accountId)\n }\n const account = { accountId, accountInfo }\n pipelines.incomingData.insertLast({\n name: 'stats',\n method: async (data: Buffer, next: MiddlewareCallback<Buffer, Buffer>) => {\n try {\n const result = await next(data)\n if (result[0] === IlpPacket.Type.TYPE_ILP_FULFILL) {\n this.stats.incomingDataPackets.increment(account, { result: 'fulfilled' })\n } else {\n this.stats.incomingDataPackets.increment(account, { result: 'rejected' })\n }\n return result\n } catch (err) {\n this.stats.incomingDataPackets.increment(account, { result: 'failed' })\n throw err\n }\n }\n })\n\n pipelines.incomingMoney.insertLast({\n name: 'stats',\n method: async (amount: string, next: MiddlewareCallback<string, void>) => {\n try {\n const result = await next(amount)\n this.stats.incomingMoney.setValue(account, { result: 'succeeded' }, +amount)\n return result\n } catch (err) {\n this.stats.incomingMoney.setValue(account, { result: 'failed' }, +amount)\n throw err\n }\n }\n })\n\n pipelines.outgoingData.insertLast({\n name: 'stats',\n method: async (data: Buffer, next: MiddlewareCallback<Buffer, Buffer>) => {\n try {\n const result = await next(data)\n if (result[0] === IlpPacket.Type.TYPE_ILP_FULFILL) {\n this.stats.outgoingDataPackets.increment(account, { result: 'fulfilled' })\n } else {\n const rejectPacket = IlpPacket.deserializeIlpReject(result)\n const { code } = rejectPacket\n this.stats.outgoingDataPackets.increment(account,\n { result: 'rejected', code })\n }\n return result\n } catch (err) {\n this.stats.outgoingDataPackets.increment(account, { result: 'failed' })\n throw err\n }\n }\n })\n\n pipelines.outgoingMoney.insertLast({\n name: 'stats',\n method: async (amount: string, next: MiddlewareCallback<string, void>) => {\n try {\n const result = await next(amount)\n this.stats.outgoingMoney.setValue(account, { result: 'succeeded' }, +amount)\n return result\n } catch (err) {\n this.stats.outgoingMoney.setValue(account, { result: 'failed' }, +amount)\n throw err\n }\n }\n })\n }\n}\n"]}
\No newline at end of file