Skip to content

Instantly share code, notes, and snippets.

@dmi3y
Last active August 29, 2015 14:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmi3y/222257ce89d0755e1378 to your computer and use it in GitHub Desktop.
Save dmi3y/222257ce89d0755e1378 to your computer and use it in GitHub Desktop.
/// should be inside
/// static function OnBeforeRequest(oSession: Session) { ... }
if ( true/*some condition*/ ) {
var fso = new ActiveXObject("Scripting.FileSystemObject"),
fl = fso.OpenTextFile("c:\\path\\mocks\\manifest.json", 1),
content = fl.ReadAll(),
mockCalls,
mockCallsLen,
mockType = 'a',
i;
eval("content = " + content + ";");
mockCalls = content[mockType];
mockCallsLen = mockCalls.length;
for (i = 0; i < mockCallsLen; i += 1) {
if ( oSession.fullUrl.Contains(mockCalls[i]) ) {
oSession["ui-backcolor"] = "lime";
oSession["ui-bold"] = "changing URL for this session";
oSession.fullUrl = oSession.fullUrl.Replace('service', 'mocks/' + mockType);
}
}
}
/*jshint node:true*/
'use strict';
var
fs = require('fs'),
fsroot = './mocks',
manifest = {};
function writeManifest(manifest) {
manifest = JSON.stringify(manifest);
fs.writeFileSync(fsroot + '/manifest.json', manifest);
console.log('completed!');
}
function readRequests(root, variant) {
var
requests = fs.readdirSync(fsroot + '/' + variant + '/' + root),
len = requests.length;
for (;len--;) {
manifest[variant].push(root + '/' + requests[len]);
}
}
function readRoots(variants) {
var
len = variants.length,
roots,
rlen,
it;
for (;len--;) {
it = variants[len];
roots = fs.readdirSync(it.target);
rlen = roots.length;
manifest[it.variant] = [];
for (;rlen--;) {
readRequests(roots[rlen], it.variant);
}
}
writeManifest(manifest);
}
function readVariants(err, files) {
var
variants = [],
len,
target;
if (!err) {
len = files.length;
for (;len--;) {
target = fsroot + '/' + files[len];
if ( fs.existsSync(target) && fs.statSync(target).isDirectory() ) {
if ( files[len] !== 'script' ) {
variants.push({'target': target, 'variant': files[len]});
}
}
}
readRoots(variants);
} else {
throw(err);
}
}
fs.readdir(fsroot, readVariants);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment