From 06cb69e2da150de1643bfe511f0374f23b7a5b11 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Sat, 4 Mar 2017 14:04:34 +0000 Subject: [PATCH] fix(core): create Ajv instance lazily fixes: request/request#2572 --- src/async.js | 12 +++++++----- src/promise.js | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/src/async.js b/src/async.js index fbc278b..5b98741 100644 --- a/src/async.js +++ b/src/async.js @@ -2,13 +2,15 @@ import * as schemas from 'har-schema' import Ajv from 'ajv' import HARError from './error' -// validator config -let ajv = new Ajv({ - allErrors: true, - schemas: schemas -}) +let ajv export function validate (name, data = {}, next) { + // validator config + ajv = ajv || new Ajv({ + allErrors: true, + schemas: schemas + }) + let validate = ajv.getSchema(name + '.json') let valid = validate(data) diff --git a/src/promise.js b/src/promise.js index 9039dda..57b0679 100644 --- a/src/promise.js +++ b/src/promise.js @@ -2,13 +2,15 @@ import * as schemas from 'har-schema' import Ajv from 'ajv' import HARError from './error' -// validator config -let ajv = new Ajv({ - allErrors: true, - schemas: schemas -}) +let ajv export function validate (name, data = {}) { + // validator config + ajv = ajv || new Ajv({ + allErrors: true, + schemas: schemas + }) + let validate = ajv.getSchema(name + '.json') return new Promise((resolve, reject) => {