Introduction to har-validator
har-validator is a powerful tool to validate HTTP Archive (HAR) files. It ensures that your HAR files are correctly formatted and data contained within them are structured properly. This can help in making your web development process more robust and error-free.
Installation
npm install har-validator
API Examples
Basic Usage
Below is a simple example of how to use har-validator to validate a HAR structure:
const har = require('har-validator'); const data = { log: { version: '1.2', creator: { name: 'Example' } } }; har.validate(data) .then(() => { console.log('HAR is valid'); }) .catch((err) => { console.error('HAR is invalid:', err); });
API: validate
The validate
function validates the structure of the given data against the HAR 1.2 schema:
har.validate(data) .then(() => {/* success case */}) .catch((err) => {/* error handling case */});
API: validateLog
Validates the log
object of a HAR file:
const logData = { version: '1.2', creator: { name: 'Example', version: '1.0' } }; har.validateLog(logData) .then(() => { console.log('Log is valid'); }) .catch((err) => { console.error('Log is invalid:', err); });
API: validateEntry
Validates an individual entry
in the HAR log:
const entry = { startedDateTime: '2023-01-01T12:00:00.000Z', time: 120, request: {...}, response: {...} }; har.validateEntry(entry) .then(() => { console.log('Entry is valid'); }) .catch((err) => { console.error('Entry is invalid:', err); });
App Example
Here is a complete app example demonstrating how to use har-validator
to validate a HAR file before saving it:
const harValidator = require('har-validator'); const fs = require('fs'); function saveHar(data) { return harValidator.validate(data) .then(() => { fs.writeFileSync('archive.har', JSON.stringify(data, null, 2)); console.log('HAR file saved successfully'); }) .catch((err) => { console.error('Failed to save HAR file:', err); }); } const harData = { log: { version: '1.2', creator: { name: 'Example', version: '1.0' }, entries: [ { startedDateTime: '2023-01-01T12:00:00.000Z', time: 120, request: {/* request data */}, response: {/* response data */} } ] } }; saveHar(harData);
By integrating this validation step into your HAR file handling process, you can ensure that any generated or modified HAR files are correctly formatted and adhere to the standard specification, reducing the likelihood of errors in your web applications.
Hash: ed083ed1d486cea0bb3ad940225ea1c793714959ab41464edf18aef4e6c2346a