Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRebecca Turner <me@re-becca.org>2015-05-22 11:33:46 +0300
committerRebecca Turner <me@re-becca.org>2015-06-26 03:27:03 +0300
commitd3c858ce4cfb3aee515bb299eb034fe1b5e44344 (patch)
treee7714c839934a729b68038f4c7dc5ec3ed877638 /node_modules/har-validator
parent24564b9654528d23c726cf9ea82b1aef2044b692 (diff)
deps: deduplicate npm@3 style
Diffstat (limited to 'node_modules/har-validator')
-rw-r--r--node_modules/har-validator/LICENSE21
-rw-r--r--node_modules/har-validator/README.md362
-rwxr-xr-xnode_modules/har-validator/bin/har-validator45
-rw-r--r--node_modules/har-validator/package.json108
-rw-r--r--node_modules/har-validator/src/error.js10
-rw-r--r--node_modules/har-validator/src/index.js39
-rw-r--r--node_modules/har-validator/src/schemas/cache.json13
-rw-r--r--node_modules/har-validator/src/schemas/cacheEntry.json31
-rw-r--r--node_modules/har-validator/src/schemas/content.json27
-rw-r--r--node_modules/har-validator/src/schemas/cookie.json34
-rw-r--r--node_modules/har-validator/src/schemas/creator.json18
-rw-r--r--node_modules/har-validator/src/schemas/entry.json48
-rw-r--r--node_modules/har-validator/src/schemas/har.json11
-rw-r--r--node_modules/har-validator/src/schemas/index.js49
-rw-r--r--node_modules/har-validator/src/schemas/log.json34
-rw-r--r--node_modules/har-validator/src/schemas/page.json30
-rw-r--r--node_modules/har-validator/src/schemas/pageTimings.json16
-rw-r--r--node_modules/har-validator/src/schemas/postData.json41
-rw-r--r--node_modules/har-validator/src/schemas/record.json18
-rw-r--r--node_modules/har-validator/src/schemas/request.json55
-rw-r--r--node_modules/har-validator/src/schemas/response.json52
-rw-r--r--node_modules/har-validator/src/schemas/timings.json40
22 files changed, 1102 insertions, 0 deletions
diff --git a/node_modules/har-validator/LICENSE b/node_modules/har-validator/LICENSE
new file mode 100644
index 000000000..d52787158
--- /dev/null
+++ b/node_modules/har-validator/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Ahmad Nassri (https://www.ahmadnassri.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/har-validator/README.md b/node_modules/har-validator/README.md
new file mode 100644
index 000000000..4e580ab86
--- /dev/null
+++ b/node_modules/har-validator/README.md
@@ -0,0 +1,362 @@
+# HAR Validator [![version][npm-version]][npm-url] [![License][npm-license]][license-url]
+
+Extremely fast HTTP Archive ([HAR](http://www.softwareishard.com/blog/har-12-spec/)) validator using JSON Schema.
+
+[![Build Status][travis-image]][travis-url]
+[![Downloads][npm-downloads]][npm-url]
+[![Code Climate][codeclimate-quality]][codeclimate-url]
+[![Coverage Status][codeclimate-coverage]][codeclimate-url]
+[![Dependencies][david-image]][david-url]
+
+## Install
+
+```shell
+# to use in cli
+npm install --global har-validator
+
+# to use as a module
+npm install --save har-validator
+```
+
+## Usage
+
+```
+
+ Usage: har-validator [options] <files ...>
+
+ Options:
+
+ -h, --help output usage information
+ -V, --version output the version number
+ -s, --schema [name] validate schema name (log, request, response, etc ...)
+
+```
+
+###### Example
+
+```shell
+har-validator har.json
+
+har-validator --schema request request.json
+```
+
+## API
+
+### Validate(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a full [HAR](http://www.softwareishard.com/blog/har-12-spec/) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var HAR = require('./har.json');
+var validate = require('har-validator');
+
+validate(HAR, function (e, valid) {
+ if (e) console.log(e.errors)
+
+ if (valid) console.log('horray!');
+});
+```
+
+### Validate.log(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [log](http://www.softwareishard.com/blog/har-12-spec/#log) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.log(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.cache(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [cache](http://www.softwareishard.com/blog/har-12-spec/#cache) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.cache(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.cacheEntry(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a ["beforeRequest" or "afterRequest"](http://www.softwareishard.com/blog/har-12-spec/#cache) objects
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.cacheEntry(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.content(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [content](http://www.softwareishard.com/blog/har-12-spec/#content) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.content(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.cookie(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [cookie](http://www.softwareishard.com/blog/har-12-spec/#cookies) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.cookie(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.creator(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [creator](http://www.softwareishard.com/blog/har-12-spec/#creator) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.creator(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.entry(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ an [entry](http://www.softwareishard.com/blog/har-12-spec/#entries) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.entry(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.log(data [, callback])
+
+alias of [`Validate(data [, callback])`](#validate-data-callback-)
+
+### Validate.page(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [page](http://www.softwareishard.com/blog/har-12-spec/#pages) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.page(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.pageTimings(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [pageTimings](http://www.softwareishard.com/blog/har-12-spec/#pageTimings) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.pageTimings(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.postData(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [postData](http://www.softwareishard.com/blog/har-12-spec/#postData) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.postData(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.record(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [record](http://www.softwareishard.com/blog/har-12-spec/#headers) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.record(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.request(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [request](http://www.softwareishard.com/blog/har-12-spec/#request) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.request(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.response(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [response](http://www.softwareishard.com/blog/har-12-spec/#response) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.cacheEntry(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+### Validate.timings(data [, callback])
+
+Returns `true` or `false`.
+
+- **data**: `Object` *(Required)*
+ a [timings](http://www.softwareishard.com/blog/har-12-spec/#timings) object
+
+- **callback**: `Function`
+ gets two arguments (err, valid)
+
+```js
+var validate = require('har-validator');
+
+validate.timings(data, function (e, valid) {
+ if (e) console.log(e.errors)
+});
+```
+
+## Support
+
+Donations are welcome to help support the continuous development of this project.
+
+[![Gratipay][gratipay-image]][gratipay-url]
+[![PayPal][paypal-image]][paypal-url]
+[![Flattr][flattr-image]][flattr-url]
+[![Bitcoin][bitcoin-image]][bitcoin-url]
+
+## License
+
+[MIT](LICENSE) &copy; [Ahmad Nassri](https://www.ahmadnassri.com)
+
+[license-url]: https://github.com/ahmadnassri/har-validator/blob/master/LICENSE
+
+[travis-url]: https://travis-ci.org/ahmadnassri/har-validator
+[travis-image]: https://img.shields.io/travis/ahmadnassri/har-validator.svg?style=flat-square
+
+[npm-url]: https://www.npmjs.com/package/har-validator
+[npm-license]: https://img.shields.io/npm/l/har-validator.svg?style=flat-square
+[npm-version]: https://img.shields.io/npm/v/har-validator.svg?style=flat-square
+[npm-downloads]: https://img.shields.io/npm/dm/har-validator.svg?style=flat-square
+
+[codeclimate-url]: https://codeclimate.com/github/ahmadnassri/har-validator
+[codeclimate-quality]: https://img.shields.io/codeclimate/github/ahmadnassri/har-validator.svg?style=flat-square
+[codeclimate-coverage]: https://img.shields.io/codeclimate/coverage/github/ahmadnassri/har-validator.svg?style=flat-square
+
+[david-url]: https://david-dm.org/ahmadnassri/har-validator
+[david-image]: https://img.shields.io/david/ahmadnassri/har-validator.svg?style=flat-square
+
+[gratipay-url]: https://www.gratipay.com/ahmadnassri/
+[gratipay-image]: https://img.shields.io/gratipay/ahmadnassri.svg?style=flat-square
+
+[paypal-url]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=UJ2B2BTK9VLRS&on0=project&os0=har-validator
+[paypal-image]: http://img.shields.io/badge/paypal-donate-green.svg?style=flat-square
+
+[flattr-url]: https://flattr.com/submit/auto?user_id=ahmadnassri&url=https://github.com/ahmadnassri/har-validator&title=har-validator&language=&tags=github&category=software
+[flattr-image]: http://img.shields.io/badge/flattr-donate-green.svg?style=flat-square
+
+[bitcoin-image]: http://img.shields.io/badge/bitcoin-1Nb46sZRVG3or7pNaDjthcGJpWhvoPpCxy-green.svg?style=flat-square
+[bitcoin-url]: https://www.coinbase.com/checkouts/ae383ae6bb931a2fa5ad11cec115191e?name=har-validator
diff --git a/node_modules/har-validator/bin/har-validator b/node_modules/har-validator/bin/har-validator
new file mode 100755
index 000000000..ab1db256f
--- /dev/null
+++ b/node_modules/har-validator/bin/har-validator
@@ -0,0 +1,45 @@
+#!/usr/bin/env node
+
+'use strict'
+
+var Promise = require('bluebird')
+
+var chalk = require('chalk')
+var cmd = require('commander')
+var fs = Promise.promisifyAll(require('fs'))
+var path = require('path')
+var pkg = require('../package.json')
+var validate = Promise.promisifyAll(require('..'))
+
+cmd
+ .version(pkg.version)
+ .usage('[options] <files ...>')
+ .option('-s, --schema [name]', 'validate schema name (log, request, response, etc ...)')
+ .parse(process.argv)
+
+if (!cmd.args.length) {
+ cmd.help()
+}
+
+if (!cmd.schema) {
+ cmd.schema = 'har'
+}
+
+cmd.args.map(function (fileName) {
+ var file = chalk.yellow.italic(path.basename(fileName))
+
+ fs.readFileAsync(fileName)
+ .then(JSON.parse)
+ .then(validate[cmd.schema + 'Async'])
+ .then(function () {
+ console.log('%s [%s] is valid', chalk.green('✓'), file)
+ })
+ .catch(SyntaxError, function (e) {
+ console.error('%s [%s] failed to read JSON: %s', chalk.red('✖'), file, chalk.red(e.message))
+ })
+ .catch(function (e) {
+ e.errors.map(function (err) {
+ console.error('%s [%s] failed validation: (%s: %s) %s', chalk.red('✖'), file, chalk.cyan.italic(err.field), chalk.magenta.italic(err.value), chalk.red(err.message))
+ })
+ })
+})
diff --git a/node_modules/har-validator/package.json b/node_modules/har-validator/package.json
new file mode 100644
index 000000000..2b6fed2e1
--- /dev/null
+++ b/node_modules/har-validator/package.json
@@ -0,0 +1,108 @@
+{
+ "_args": [
+ [
+ "har-validator@^1.6.1",
+ "/Users/rebecca/code/npm/node_modules/request"
+ ]
+ ],
+ "_from": "har-validator@>=1.6.1 <2.0.0",
+ "_id": "har-validator@1.7.1",
+ "_inCache": true,
+ "_location": "/har-validator",
+ "_nodeVersion": "0.12.2",
+ "_npmUser": {
+ "email": "ahmad@ahmadnassri.com",
+ "name": "ahmadnassri"
+ },
+ "_npmVersion": "2.7.4",
+ "_phantomChildren": {},
+ "_requested": {
+ "name": "har-validator",
+ "raw": "har-validator@^1.6.1",
+ "rawSpec": "^1.6.1",
+ "scope": null,
+ "spec": ">=1.6.1 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/request"
+ ],
+ "_resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.7.1.tgz",
+ "_shasum": "8ec8952f8287d21b451ba3e36f27ed8d997d8a95",
+ "_shrinkwrap": null,
+ "_spec": "har-validator@^1.6.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/request",
+ "author": {
+ "email": "ahmad@ahmadnassri.com",
+ "name": "Ahmad Nassri",
+ "url": "https://www.ahmadnassri.com/"
+ },
+ "bin": {
+ "har-validator": "./bin/har-validator"
+ },
+ "bugs": {
+ "url": "https://github.com/ahmadnassri/har-validator/issues"
+ },
+ "dependencies": {
+ "bluebird": "^2.9.26",
+ "chalk": "^1.0.0",
+ "commander": "^2.8.1",
+ "is-my-json-valid": "^2.12.0"
+ },
+ "description": "Extremely fast HTTP Archive (HAR) validator using JSON Schema",
+ "devDependencies": {
+ "codeclimate-test-reporter": "0.0.4",
+ "echint": "^1.1.0",
+ "istanbul": "^0.3.14",
+ "mocha": "^2.2.5",
+ "require-directory": "^2.1.0",
+ "should": "^6.0.3",
+ "standard": "^3.11.1"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "8ec8952f8287d21b451ba3e36f27ed8d997d8a95",
+ "tarball": "http://registry.npmjs.org/har-validator/-/har-validator-1.7.1.tgz"
+ },
+ "echint": {
+ "ignore": [
+ "coverage/**"
+ ]
+ },
+ "engines": {
+ "node": ">=0.10"
+ },
+ "files": [
+ "bin",
+ "src"
+ ],
+ "gitHead": "328d7f2f37affcc4fca1db13da68f2be817ad31c",
+ "homepage": "https://github.com/ahmadnassri/har-validator",
+ "keywords": [
+ "archive",
+ "har",
+ "http",
+ "validate",
+ "validator"
+ ],
+ "license": "MIT",
+ "main": "./src/index.js",
+ "maintainers": [
+ {
+ "name": "ahmadnassri",
+ "email": "ahmad@ahmadnassri.com"
+ }
+ ],
+ "name": "har-validator",
+ "optionalDependencies": {},
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/ahmadnassri/har-validator"
+ },
+ "scripts": {
+ "codeclimate": "codeclimate < coverage/lcov.info",
+ "coverage": "istanbul cover ./node_modules/mocha/bin/_mocha",
+ "test": "standard && echint && mocha --reporter spec"
+ },
+ "version": "1.7.1"
+}
diff --git a/node_modules/har-validator/src/error.js b/node_modules/har-validator/src/error.js
new file mode 100644
index 000000000..fc08a8721
--- /dev/null
+++ b/node_modules/har-validator/src/error.js
@@ -0,0 +1,10 @@
+'use strict'
+
+function ValidationError (errors) {
+ this.name = 'ValidationError'
+ this.errors = errors
+}
+
+ValidationError.prototype = Error.prototype
+
+module.exports = ValidationError
diff --git a/node_modules/har-validator/src/index.js b/node_modules/har-validator/src/index.js
new file mode 100644
index 000000000..d0324ccd1
--- /dev/null
+++ b/node_modules/har-validator/src/index.js
@@ -0,0 +1,39 @@
+'use strict'
+
+var schemas = require('./schemas')
+var ValidationError = require('./error')
+var validator = require('is-my-json-valid')
+
+var runner = function (schema, data, cb) {
+ var validate = validator(schema, {
+ greedy: true,
+ verbose: true,
+ schemas: schemas
+ })
+
+ var valid = false
+
+ if (data !== undefined) {
+ // execute is-my-json-valid
+ valid = validate(data)
+ }
+
+ // callback?
+ if (!cb) {
+ return !validate.errors > 0
+ } else {
+ return cb(validate.errors ? new ValidationError(validate.errors) : null, valid)
+ }
+
+ return valid
+}
+
+module.exports = function (data, cb) {
+ return runner(schemas.har, data, cb)
+}
+
+Object.keys(schemas).map(function (name) {
+ module.exports[name] = function (data, cb) {
+ return runner(schemas[name], data, cb)
+ }
+})
diff --git a/node_modules/har-validator/src/schemas/cache.json b/node_modules/har-validator/src/schemas/cache.json
new file mode 100644
index 000000000..a3ab682d5
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/cache.json
@@ -0,0 +1,13 @@
+{
+ "properties": {
+ "beforeRequest": {
+ "$ref": "#cacheEntry"
+ },
+ "afterRequest": {
+ "$ref": "#cacheEntry"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/cacheEntry.json b/node_modules/har-validator/src/schemas/cacheEntry.json
new file mode 100644
index 000000000..a397439fd
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/cacheEntry.json
@@ -0,0 +1,31 @@
+{
+ "oneOf": [{
+ "type": "object",
+ "optional": true,
+ "required": [
+ "lastAccess",
+ "eTag",
+ "hitCount"
+ ],
+ "properties": {
+ "expires": {
+ "type": "string"
+ },
+ "lastAccess": {
+ "type": "string"
+ },
+ "eTag": {
+ "type": "string"
+ },
+ "hitCount": {
+ "type": "integer"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+ }, {
+ "type": null,
+ "additionalProperties": false
+ }]
+}
diff --git a/node_modules/har-validator/src/schemas/content.json b/node_modules/har-validator/src/schemas/content.json
new file mode 100644
index 000000000..3710d7939
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/content.json
@@ -0,0 +1,27 @@
+{
+ "type": "object",
+ "required": [
+ "size",
+ "mimeType"
+ ],
+ "properties": {
+ "size": {
+ "type": "integer"
+ },
+ "compression": {
+ "type": "integer"
+ },
+ "mimeType": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "encoding": {
+ "type": "string"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/cookie.json b/node_modules/har-validator/src/schemas/cookie.json
new file mode 100644
index 000000000..576818183
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/cookie.json
@@ -0,0 +1,34 @@
+{
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "path": {
+ "type": "string"
+ },
+ "domain": {
+ "type": "string"
+ },
+ "expires": {
+ "type": ["string", "null"],
+ "format": "date-time"
+ },
+ "httpOnly": {
+ "type": "boolean"
+ },
+ "secure": {
+ "type": "boolean"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/creator.json b/node_modules/har-validator/src/schemas/creator.json
new file mode 100644
index 000000000..505860064
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/creator.json
@@ -0,0 +1,18 @@
+{
+ "type": "object",
+ "required": [
+ "name",
+ "version"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "version": {
+ "type": "string"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/entry.json b/node_modules/har-validator/src/schemas/entry.json
new file mode 100644
index 000000000..7acdc1b82
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/entry.json
@@ -0,0 +1,48 @@
+{
+ "type": "object",
+ "optional": true,
+ "required": [
+ "startedDateTime",
+ "time",
+ "request",
+ "response",
+ "cache",
+ "timings"
+ ],
+ "properties": {
+ "pageref": {
+ "type": "string"
+ },
+ "startedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "pattern": "^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))"
+ },
+ "time": {
+ "type": "number",
+ "min": 0
+ },
+ "request": {
+ "$ref": "#request"
+ },
+ "response": {
+ "$ref": "#response"
+ },
+ "cache": {
+ "$ref": "#cache"
+ },
+ "timings": {
+ "$ref": "#timings"
+ },
+ "serverIPAddress": {
+ "type": "string",
+ "format": "ipv4"
+ },
+ "connection": {
+ "type": "string"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/har.json b/node_modules/har-validator/src/schemas/har.json
new file mode 100644
index 000000000..b542782db
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/har.json
@@ -0,0 +1,11 @@
+{
+ "type": "object",
+ "required": [
+ "log"
+ ],
+ "properties": {
+ "log": {
+ "$ref": "#log"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/index.js b/node_modules/har-validator/src/schemas/index.js
new file mode 100644
index 000000000..7b6db7dab
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/index.js
@@ -0,0 +1,49 @@
+'use strict'
+
+var schemas = {
+ cache: require('./cache.json'),
+ cacheEntry: require('./cacheEntry.json'),
+ content: require('./content.json'),
+ cookie: require('./cookie.json'),
+ creator: require('./creator.json'),
+ entry: require('./entry.json'),
+ har: require('./har.json'),
+ log: require('./log.json'),
+ page: require('./page.json'),
+ pageTimings: require('./pageTimings.json'),
+ postData: require('./postData.json'),
+ record: require('./record.json'),
+ request: require('./request.json'),
+ response: require('./response.json'),
+ timings: require('./timings.json')
+}
+
+// is-my-json-valid does not provide meaningful error messages for external schemas
+// this is a workaround
+schemas.cache.properties.beforeRequest = schemas.cacheEntry
+schemas.cache.properties.afterRequest = schemas.cacheEntry
+
+schemas.page.properties.pageTimings = schemas.pageTimings
+
+schemas.request.properties.cookies.items = schemas.cookie
+schemas.request.properties.headers.items = schemas.record
+schemas.request.properties.queryString.items = schemas.record
+schemas.request.properties.postData = schemas.postData
+
+schemas.response.properties.cookies.items = schemas.cookie
+schemas.response.properties.headers.items = schemas.record
+schemas.response.properties.content = schemas.content
+
+schemas.entry.properties.request = schemas.request
+schemas.entry.properties.response = schemas.response
+schemas.entry.properties.cache = schemas.cache
+schemas.entry.properties.timings = schemas.timings
+
+schemas.log.properties.creator = schemas.creator
+schemas.log.properties.browser = schemas.creator
+schemas.log.properties.pages.items = schemas.page
+schemas.log.properties.entries.items = schemas.entry
+
+schemas.har.properties.log = schemas.log
+
+module.exports = schemas
diff --git a/node_modules/har-validator/src/schemas/log.json b/node_modules/har-validator/src/schemas/log.json
new file mode 100644
index 000000000..0c91d38bf
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/log.json
@@ -0,0 +1,34 @@
+{
+ "type": "object",
+ "required": [
+ "version",
+ "creator",
+ "entries"
+ ],
+ "properties": {
+ "version": {
+ "type": "string"
+ },
+ "creator": {
+ "$ref": "#creator"
+ },
+ "browser": {
+ "$ref": "#creator"
+ },
+ "pages": {
+ "type": "array",
+ "items": {
+ "$ref": "#page"
+ }
+ },
+ "entries": {
+ "type": "array",
+ "items": {
+ "$ref": "#entry"
+ }
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/page.json b/node_modules/har-validator/src/schemas/page.json
new file mode 100644
index 000000000..ef64abe5c
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/page.json
@@ -0,0 +1,30 @@
+{
+ "type": "object",
+ "optional": true,
+ "required": [
+ "startedDateTime",
+ "id",
+ "title",
+ "pageTimings"
+ ],
+ "properties": {
+ "startedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "pattern": "^(\\d{4})(-)?(\\d\\d)(-)?(\\d\\d)(T)?(\\d\\d)(:)?(\\d\\d)(:)?(\\d\\d)(\\.\\d+)?(Z|([+-])(\\d\\d)(:)?(\\d\\d))"
+ },
+ "id": {
+ "type": "string",
+ "unique": true
+ },
+ "title": {
+ "type": "string"
+ },
+ "pageTimings": {
+ "$ref": "#pageTimings"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/pageTimings.json b/node_modules/har-validator/src/schemas/pageTimings.json
new file mode 100644
index 000000000..adc83cccd
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/pageTimings.json
@@ -0,0 +1,16 @@
+{
+ "type": "object",
+ "properties": {
+ "onContentLoad": {
+ "type": "number",
+ "min": -1
+ },
+ "onLoad": {
+ "type": "number",
+ "min": -1
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/postData.json b/node_modules/har-validator/src/schemas/postData.json
new file mode 100644
index 000000000..91958b64a
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/postData.json
@@ -0,0 +1,41 @@
+{
+ "type": "object",
+ "optional": true,
+ "required": [
+ "mimeType"
+ ],
+ "properties": {
+ "mimeType": {
+ "type": "string"
+ },
+ "text": {
+ "type": "string"
+ },
+ "params": {
+ "type": "array",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "fileName": {
+ "type": "string"
+ },
+ "contentType": {
+ "type": "string"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/record.json b/node_modules/har-validator/src/schemas/record.json
new file mode 100644
index 000000000..04acd5194
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/record.json
@@ -0,0 +1,18 @@
+{
+ "type": "object",
+ "required": [
+ "name",
+ "value"
+ ],
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "value": {
+ "type": "string"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/request.json b/node_modules/har-validator/src/schemas/request.json
new file mode 100644
index 000000000..639af06dc
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/request.json
@@ -0,0 +1,55 @@
+{
+ "type": "object",
+ "required": [
+ "method",
+ "url",
+ "httpVersion",
+ "cookies",
+ "headers",
+ "queryString",
+ "headersSize",
+ "bodySize"
+ ],
+ "properties": {
+ "method": {
+ "type": "string"
+ },
+ "url": {
+ "type": "string",
+ "format": "uri"
+ },
+ "httpVersion": {
+ "type": "string"
+ },
+ "cookies": {
+ "type": "array",
+ "items": {
+ "$ref": "#cookie"
+ }
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#record"
+ }
+ },
+ "queryString": {
+ "type": "array",
+ "items": {
+ "$ref": "#record"
+ }
+ },
+ "postData": {
+ "$ref": "#postData"
+ },
+ "headersSize": {
+ "type": "integer"
+ },
+ "bodySize": {
+ "type": "integer"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/response.json b/node_modules/har-validator/src/schemas/response.json
new file mode 100644
index 000000000..de99c55bb
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/response.json
@@ -0,0 +1,52 @@
+{
+ "type": "object",
+ "required": [
+ "status",
+ "statusText",
+ "httpVersion",
+ "cookies",
+ "headers",
+ "content",
+ "redirectURL",
+ "headersSize",
+ "bodySize"
+ ],
+ "properties": {
+ "status": {
+ "type": "integer"
+ },
+ "statusText": {
+ "type": "string"
+ },
+ "httpVersion": {
+ "type": "string"
+ },
+ "cookies": {
+ "type": "array",
+ "items": {
+ "$ref": "#cookie"
+ }
+ },
+ "headers": {
+ "type": "array",
+ "items": {
+ "$ref": "#record"
+ }
+ },
+ "content": {
+ "$ref": "#content"
+ },
+ "redirectURL": {
+ "type": "string"
+ },
+ "headersSize": {
+ "type": "integer"
+ },
+ "bodySize": {
+ "type": "integer"
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}
diff --git a/node_modules/har-validator/src/schemas/timings.json b/node_modules/har-validator/src/schemas/timings.json
new file mode 100644
index 000000000..066ef71a1
--- /dev/null
+++ b/node_modules/har-validator/src/schemas/timings.json
@@ -0,0 +1,40 @@
+{
+ "required": [
+ "send",
+ "wait",
+ "receive"
+ ],
+ "properties": {
+ "dns": {
+ "type": "number",
+ "min": -1
+ },
+ "connect": {
+ "type": "number",
+ "min": -1
+ },
+ "blocked": {
+ "type": "number",
+ "min": -1
+ },
+ "send": {
+ "type": "number",
+ "min": -1
+ },
+ "wait": {
+ "type": "number",
+ "min": -1
+ },
+ "receive": {
+ "type": "number",
+ "min": -1
+ },
+ "ssl": {
+ "type": "number",
+ "min": -1
+ },
+ "comment": {
+ "type": "string"
+ }
+ }
+}