react-relay-network-modern
Version:
Network Layer for React Relay and Express (Batch Queries, AuthToken, Logging, Retry)
23 lines (17 loc) • 575 B
Flow
/* @flow */
/* eslint-disable no-console */
import type { Middleware } from '../definition';
export type PerfMiddlewareOpts = {|
logger?: Function,
|};
export default function performanceMiddleware(opts?: PerfMiddlewareOpts): Middleware {
const logger = (opts && opts.logger) || console.log.bind(console, '[RELAY-NETWORK]');
return (next) => (req) => {
const start = new Date().getTime();
return next(req).then((res) => {
const end = new Date().getTime();
logger(`[${end - start}ms] ${req.getID()}`, req, res);
return res;
});
};
}