HAR Validator

Extremely fast HTTP Archive (HAR) validator using JSON Schema.

Install

# 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
har-validator har.json

har-validator --schema request request.json

API

Note: as of {v2.0.0} this module defaults to Promise based API. For backward comptability with v1.x an {async/callback API}[#callback-api] is provided

Validate(data)

Returns a promise that resolves to the valid object.

validate(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.log(data)

Returns a promise that resolves to the valid object.

validate.log(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.cache(data)

Returns a promise that resolves to the valid object.

validate.cache(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.cacheEntry(data)

Returns a promise that resolves to the valid object.

validate.cacheEntry(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.content(data)

Returns a promise that resolves to the valid object.

validate.content(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.cookie(data)

Returns a promise that resolves to the valid object.

validate.cookie(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.creator(data)

Returns a promise that resolves to the valid object.

validate.creator(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.entry(data)

Returns a promise that resolves to the valid object.

validate.entry(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.log(data)

alias of {Validate(data)}

Validate.page(data)

Returns a promise that resolves to the valid object.

validate.page(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.pageTimings(data)

Returns a promise that resolves to the valid object.

validate.pageTimings(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.postData(data)

Returns a promise that resolves to the valid object.

validate.postData(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.record(data)

Returns a promise that resolves to the valid object.

validate.record(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.request(data)

Returns a promise that resolves to the valid object.

validate.request(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.response(data)

Returns a promise that resolves to the valid object.

validate.cacheEntry(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Validate.timings(data)

Returns a promise that resolves to the valid object.

validate.timings(data)
  .then(data => console.log('horray!'))
  .catch(console.error)

Callback API

Validate(data [, callback])

Returns true or false.

var HAR = require('./har.json');
var validate = require('har-validator/lib/async');

validate(HAR, function (e, valid) {
  if (e) console.log(e.errors)

  if (valid) console.log('horray!');
});

The async API provides exactly the same methods as the Promise API


Support

Donations are welcome to help support the continuous development of this project.

License

ISC License © Ahmad Nassri