Beta 7 with some repo names changed.
This commit is contained in:
1 parent
0f7b40cca7
commit
963c19493a
3408 files changed
+462217
-15516
No files matched your search
+105
@@ -0,0 +1,105 @@
|
||||
var Ajv = require('ajv')
|
||||
var HARError = require('./error')
|
||||
var schemas = require('har-schema')
|
||||
|
||||
var ajv
|
||||
|
||||
function createAjvInstance () {
|
||||
var ajv = new Ajv({
|
||||
allErrors: true
|
||||
})
|
||||
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'))
|
||||
ajv.addSchema(schemas)
|
||||
|
||||
return ajv
|
||||
}
|
||||
|
||||
function validate (name, data, next) {
|
||||
data = data || {}
|
||||
|
||||
// validator config
|
||||
ajv = ajv || createAjvInstance()
|
||||
|
||||
var validate = ajv.getSchema(name + '.json')
|
||||
|
||||
var valid = validate(data)
|
||||
|
||||
// callback?
|
||||
if (typeof next === 'function') {
|
||||
return next(!valid ? new HARError(validate.errors) : null, valid)
|
||||
}
|
||||
|
||||
return valid
|
||||
}
|
||||
|
||||
exports.afterRequest = function (data, next) {
|
||||
return validate('afterRequest', data, next)
|
||||
}
|
||||
|
||||
exports.beforeRequest = function (data, next) {
|
||||
return validate('beforeRequest', data, next)
|
||||
}
|
||||
|
||||
exports.browser = function (data, next) {
|
||||
return validate('browser', data, next)
|
||||
}
|
||||
|
||||
exports.cache = function (data, next) {
|
||||
return validate('cache', data, next)
|
||||
}
|
||||
|
||||
exports.content = function (data, next) {
|
||||
return validate('content', data, next)
|
||||
}
|
||||
|
||||
exports.cookie = function (data, next) {
|
||||
return validate('cookie', data, next)
|
||||
}
|
||||
|
||||
exports.creator = function (data, next) {
|
||||
return validate('creator', data, next)
|
||||
}
|
||||
|
||||
exports.entry = function (data, next) {
|
||||
return validate('entry', data, next)
|
||||
}
|
||||
|
||||
exports.har = function (data, next) {
|
||||
return validate('har', data, next)
|
||||
}
|
||||
|
||||
exports.header = function (data, next) {
|
||||
return validate('header', data, next)
|
||||
}
|
||||
|
||||
exports.log = function (data, next) {
|
||||
return validate('log', data, next)
|
||||
}
|
||||
|
||||
exports.page = function (data, next) {
|
||||
return validate('page', data, next)
|
||||
}
|
||||
|
||||
exports.pageTimings = function (data, next) {
|
||||
return validate('pageTimings', data, next)
|
||||
}
|
||||
|
||||
exports.postData = function (data, next) {
|
||||
return validate('postData', data, next)
|
||||
}
|
||||
|
||||
exports.query = function (data, next) {
|
||||
return validate('query', data, next)
|
||||
}
|
||||
|
||||
exports.request = function (data, next) {
|
||||
return validate('request', data, next)
|
||||
}
|
||||
|
||||
exports.response = function (data, next) {
|
||||
return validate('response', data, next)
|
||||
}
|
||||
|
||||
exports.timings = function (data, next) {
|
||||
return validate('timings', data, next)
|
||||
}
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
function HARError (errors) {
|
||||
var message = 'validation failed'
|
||||
|
||||
this.name = 'HARError'
|
||||
this.message = message
|
||||
this.errors = errors
|
||||
|
||||
if (typeof Error.captureStackTrace === 'function') {
|
||||
Error.captureStackTrace(this, this.constructor)
|
||||
} else {
|
||||
this.stack = (new Error(message)).stack
|
||||
}
|
||||
}
|
||||
|
||||
HARError.prototype = Error.prototype
|
||||
|
||||
module.exports = HARError
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
var Ajv = require('ajv')
|
||||
var HARError = require('./error')
|
||||
var schemas = require('har-schema')
|
||||
|
||||
var ajv
|
||||
|
||||
function createAjvInstance () {
|
||||
var ajv = new Ajv({
|
||||
allErrors: true
|
||||
})
|
||||
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'))
|
||||
ajv.addSchema(schemas)
|
||||
|
||||
return ajv
|
||||
}
|
||||
|
||||
function validate (name, data) {
|
||||
data = data || {}
|
||||
|
||||
// validator config
|
||||
ajv = ajv || createAjvInstance()
|
||||
|
||||
var validate = ajv.getSchema(name + '.json')
|
||||
|
||||
return new Promise(function (resolve, reject) {
|
||||
var valid = validate(data)
|
||||
|
||||
!valid ? reject(new HARError(validate.errors)) : resolve(data)
|
||||
})
|
||||
}
|
||||
|
||||
exports.afterRequest = function (data) {
|
||||
return validate('afterRequest', data)
|
||||
}
|
||||
|
||||
exports.beforeRequest = function (data) {
|
||||
return validate('beforeRequest', data)
|
||||
}
|
||||
|
||||
exports.browser = function (data) {
|
||||
return validate('browser', data)
|
||||
}
|
||||
|
||||
exports.cache = function (data) {
|
||||
return validate('cache', data)
|
||||
}
|
||||
|
||||
exports.content = function (data) {
|
||||
return validate('content', data)
|
||||
}
|
||||
|
||||
exports.cookie = function (data) {
|
||||
return validate('cookie', data)
|
||||
}
|
||||
|
||||
exports.creator = function (data) {
|
||||
return validate('creator', data)
|
||||
}
|
||||
|
||||
exports.entry = function (data) {
|
||||
return validate('entry', data)
|
||||
}
|
||||
|
||||
exports.har = function (data) {
|
||||
return validate('har', data)
|
||||
}
|
||||
|
||||
exports.header = function (data) {
|
||||
return validate('header', data)
|
||||
}
|
||||
|
||||
exports.log = function (data) {
|
||||
return validate('log', data)
|
||||
}
|
||||
|
||||
exports.page = function (data) {
|
||||
return validate('page', data)
|
||||
}
|
||||
|
||||
exports.pageTimings = function (data) {
|
||||
return validate('pageTimings', data)
|
||||
}
|
||||
|
||||
exports.postData = function (data) {
|
||||
return validate('postData', data)
|
||||
}
|
||||
|
||||
exports.query = function (data) {
|
||||
return validate('query', data)
|
||||
}
|
||||
|
||||
exports.request = function (data) {
|
||||
return validate('request', data)
|
||||
}
|
||||
|
||||
exports.response = function (data) {
|
||||
return validate('response', data)
|
||||
}
|
||||
|
||||
exports.timings = function (data) {
|
||||
return validate('timings', data)
|
||||
}
|
||||
+72
@@ -0,0 +1,72 @@
|
||||
{
|
||||
"_from": "har-validator@~5.1.3",
|
||||
"_id": "har-validator@5.1.5",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
|
||||
"_location": "/har-validator",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "har-validator@~5.1.3",
|
||||
"name": "har-validator",
|
||||
"escapedName": "har-validator",
|
||||
"rawSpec": "~5.1.3",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "~5.1.3"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/request"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
|
||||
"_shasum": "1f0803b9f8cb20c0fa13822df1ecddb36bde1efd",
|
||||
"_spec": "har-validator@~5.1.3",
|
||||
"_where": "C:\\Users\\Luis\\source\\repos\\AAMasters\\BackendServers\\node_modules\\request",
|
||||
"author": {
|
||||
"name": "Ahmad Nassri",
|
||||
"email": "ahmad@ahmadnassri.com",
|
||||
"url": "https://www.ahmadnassri.com/"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/ahmadnassri/node-har-validator/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"dependencies": {
|
||||
"ajv": "^6.12.3",
|
||||
"har-schema": "^2.0.0"
|
||||
},
|
||||
"deprecated": "this library is no longer supported",
|
||||
"description": "Extremely fast HTTP Archive (HAR) validator using JSON Schema",
|
||||
"devDependencies": {
|
||||
"tap": "^14.10.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"files": [
|
||||
"lib"
|
||||
],
|
||||
"homepage": "https://github.com/ahmadnassri/node-har-validator",
|
||||
"keywords": [
|
||||
"har",
|
||||
"cli",
|
||||
"ajv",
|
||||
"http",
|
||||
"archive",
|
||||
"validate",
|
||||
"validator"
|
||||
],
|
||||
"license": "MIT",
|
||||
"main": "lib/promise.js",
|
||||
"name": "har-validator",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/ahmadnassri/node-har-validator.git"
|
||||
},
|
||||
"scripts": {
|
||||
"lint": "npx run-p lint:*",
|
||||
"test": "tap test --no-coverage",
|
||||
"test:coverage": "tap test --coverage-report=lcov --no-browser"
|
||||
},
|
||||
"version": "5.1.5"
|
||||
}
|
||||
Reference in new issue
Block a user