UNPKG

phantomhar

Version:

a PhantomJS script to generate HTTP Archive (HAR) data from captured network traffic

92 lines (83 loc) 2.01 kB
var Prom = require('es6-promise').Promise; module.exports.promisify = function (func) { // Already a Promise. if (func && typeof func.then === 'function') { return func; } return function () { var args = Array.prototype.slice.apply(arguments); return new Prom(function (resolve, reject) { func.apply({}, args.concat(function (err, value) { if (err) { reject(err); } else { resolve(value); } })); }); }; }; module.exports.getType = function (ct, url) { ct = ct.toLowerCase(); if (ct.substr(0, 8) === 'text/css') { return 'css'; } if (/javascript/.test(ct)) { return 'js'; } if (/\/json/.test(ct)) { return 'json'; } if (/flash/.test(ct)) { return 'flash'; } if (ct.substr(0, 6) === 'image/') { return 'cssimage'; } if (ct.substr(0, 6) === 'audio/') { return 'audio'; } if (ct.substr(0, 6) === 'video/') { return 'video'; } if (/(\/|-)font-/.test(ct) || /\/font/.test(ct) || ct.substr(0, 5) === 'font/' || /\.((eot)|(otf)|(ttf)|(woff))($|\?)/i.test(url)) { return 'font'; } if (/\.((gif)|(png)|(jpe)|(jpeg)|(jpg)|(tiff))($|\?)/i.test(url)) { return 'cssimage'; } if (/\.((flac)|(ogg)|(opus)|(mp3)|(wav)|(weba))($|\?)/i.test(url)) { return 'audio'; } if (/\.((mp4)|(webm))($|\?)/i.test(url)) { return 'video'; } if (ct.substr(0, 9) === 'text/html' || ct.substr(0, 10) === 'text/plain') { return 'doc'; } return null; }; module.exports.getErrorString = function (error) { // According to http://qt-project.org/doc/qt-4.8/qnetworkreply.html switch (error.errorCode) { case 1: return '(refused)'; case 2: return '(closed)'; case 3: return '(host not found)'; case 4: return '(timeout)'; case 5: return '(canceled)'; case 6: return '(ssl failure)'; case 7: return '(net failure)'; default: return '(unknown error)'; } };