@luminati-io/har-validator
v2.0.6-lum.1
Published
Extremely fast HTTP Archive (HAR) validator using JSON Schema
Downloads
180
Readme
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 is provided
Validate(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a full HAR object
validate(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.log(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a log object
validate.log(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.cache(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a cache object
validate.cache(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.cacheEntry(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a "beforeRequest" or "afterRequest" objects
validate.cacheEntry(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.content(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a content object
validate.content(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.cookie(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a cookie object
validate.cookie(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.creator(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a creator object
validate.creator(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.entry(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) an entry 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.
- data:
Object
(Required) a page object
validate.page(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.pageTimings(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a pageTimings object
validate.pageTimings(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.postData(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a postData object
validate.postData(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.record(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a record object
validate.record(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.request(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a request object
validate.request(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.response(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a response object
validate.cacheEntry(data)
.then(data => console.log('horray!'))
.catch(console.error)
Validate.timings(data)
Returns a promise that resolves to the valid object.
- data:
Object
(Required) a timings object
validate.timings(data)
.then(data => console.log('horray!'))
.catch(console.error)
Callback API
Validate(data [, callback])
Returns
true
orfalse
.
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.