What is har-validator?
The har-validator npm package is a library designed to validate HTTP Archive (HAR) files. HAR files are JSON-formatted archives that track all the logging of a web browser's interaction with a site. This package ensures that HAR files adhere to the specification and structure expected, making it useful for developers working with web performance and debugging, API testing, and network monitoring.
What are har-validator's main functionalities?
HAR file validation
This feature allows developers to validate HAR files against the HAR format specification. The code sample demonstrates how to use the har-validator package to validate a HAR file. If the file is valid, it logs a success message; otherwise, it catches and logs the validation error.
const HARValidator = require('har-validator');
async function validateHAR(harData) {
try {
const valid = await HARValidator.har(harData);
console.log('HAR is valid:', valid);
} catch (err) {
console.error('HAR validation error:', err.message);
}
}
Other packages similar to har-validator
ajv
Ajv is a fast JSON schema validator. While not specifically designed for HAR files, it can be used to validate any JSON structure against a schema, making it a versatile alternative for general JSON validation tasks. Compared to har-validator, Ajv requires you to define or have access to the JSON schema, offering more flexibility at the cost of requiring more setup for HAR validation.
tv4
Tiny Validator (tv4) is another JSON schema validator that supports asynchronous validation and v4 of the JSON Schema standard. Similar to Ajv, it can be used for validating various JSON formats, including HAR files, if the appropriate schema is provided. It's a bit simpler and smaller than Ajv, making it a good choice for projects with less complex validation needs or tighter size constraints.
HAR Validator
Extremely fast HTTP Archive (HAR) validator using JSON Schema.
Install
npm install --only=production --save har-validator
Usage
I recommend using an optimized build matching your Node.js environment version, otherwise, the standard require
would work just fine with any version of Node >= v4.0
.
const validate = require('har-validator/lib/node7')
const validate = require('har-validator/lib/node6')
var validate = require('har-validator')
CLI Usage
Please refer to har-cli
for more info.
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 also provided
:copyright: ahmadnassri.com ·
License: ISC ·
Github: @ahmadnassri ·
Twitter: @ahmadnassri