UNPKG

rbxjs-plus

Version:

A system allowing access to roblox functions.

48 lines (43 loc) 1.22 kB
// Dependencies var url = require('url'); // Includes var http = require('./http.js').func; var getHash = require('./getHash.js').func; var getVerificationInputs = require('./getVerificationInputs.js').func; var cache = require('../cache'); // Args exports.required = ['url']; exports.optional = ['ignoreCache', 'getBody', 'jar']; // Define function getVerification (jar, url, getBody) { var httpOpt = { url: url, options: { resolveWithFullResponse: true, jar: jar } }; return http(httpOpt) .then(function (res) { var inputs = getVerificationInputs({html: res.body}); var match; if (res.headers && res.headers['set-cookie']) { match = res.headers['set-cookie'].toString().match(/__RequestVerificationToken=(.*?);/); } return { body: (getBody ? res.body : null), inputs: inputs, header: match && match[1] }; }); } exports.func = function (args) { var jar = args.jar; if (args.ignoreCache) { return getVerification(jar, args.url, args.getBody); } else { return cache.wrap('Verify', url.parse(args.url).pathname + getHash({jar: jar}), function () { return getVerification(jar, args.url, args.getBody); }); } };