function getResponse(url) { return new Promise(resolve => { http.get(url, response => { let chunks = []; response.on('data', chunk => chunks.push(chunk)); response.on('end', () => { response.body = Buffer.concat(chunks).toString('utf8'); resolve(response); }); }); }); }
req.on('end', () => { // $FlowIssue body = Buffer.concat(body).toString(); try { body = JSON.parse(body); } catch (err) { console.error(err.message); return finished(); } if (!body || body.length === 0) { return finished(); } body .filter(event => event && event.hasOwnProperty('status')) .filter(event => event.status === '5.0.0') .map(event => sendgridEventQueue.add({ event })); return finished(); });
Promise.resolve().then(() => { const cmd = [ 'docker images', '--format', `'{{"{"}}"tag":"{{.Tag}}","createdAt":"{{.CreatedAt}}"{{"}"}}'`, '"--filter=reference=' + images.getProjectName() + ':bc_*"' ].join(' ') const out = cp.execSync(cmd).toString() const parsed = JSON.parse('[' + out.replace(/\s*$/g, '').split('\n').join(',') + ']') return parsed.map(elem => ({ hash: elem.tag.substr(3), createdAt: new Date(elem.createdAt).getTime() })) })
Promise.resolve().then(() => { const missingImages = svc.reduce((arr, i) => { const cmd = [ 'docker images', '"--filter=reference=' + i.args[i.args.length - 1] + '"' ].join(' ') const out = cp.execSync(cmd).toString().split('\n') if (!out[1]) { arr.push(i.name) } return arr }, []) if (missingImages.length) { output.info(`Unable to find local image${missingImages.length > 1 ? 's' : ''} for ${missingImages.join(', ')}. Pulling during start step.`) } })
Promise.resolve().then(() => { const findCmd = all ? 'docker ps --format "{{.Names}}"' : 'docker ps --filter="name=bc_" --format "{{.Names}}"' const ids = cp.execSync(findCmd) .toString() .split(/\r?\n/) .filter(Boolean) if (!ids.length) { output.success('All clean') return } output.info(`Stopping ${ids.length} containers:`) return Promise.all(ids.map(id => { return proc.run(['stop', id], true) .then(() => output.success(id)) .catch(() => output.error(id)) })) })
const streamParser = data => data .toString('utf-8') .split('\n') .filter(_ => _.trim()) .reduce(streamDataReducer, { event: null, data: null })
function exec (cmd) { return require('child_process').execSync(cmd).toString().trim() }
// the function that sets up the global context for each resolver, using the req const context = async ({ req }) => { // simple auth check on every request const auth = (req.headers && req.headers.authorization) || ''; const email = new Buffer(auth, 'base64').toString('ascii'); // if the email isn't formatted validly, return null for user if (!isEmail.validate(email)) return { user: null }; // find a user by their email const users = await store.users.findOrCreate({ where: { email } }); const user = users && users[0] ? users[0] : null; return { user: { ...user.dataValues } }; }
Cache.once(async (baseUrl) => { let rexp = /\/(main\.[^\.]+\.(?:js|css))/g; let html = await readFile(path.resolve(assetsFolder, 'index.html')); return html.toString().replace(rexp, `${baseUrl}/$1`); })
const loadImage = function getBase64 (url) { return axios .get(url, { responseType: 'arraybuffer' }) .then(response => 'data:;base64,' + new Buffer(response.data, 'binary').toString('base64')) }
describe('[Mutation.login]', () => { const { findOrCreateUser } = mockContext.dataSources.userAPI; it('returns base64 encoded email if successful', async () => { const args = { email: 'a@a.a' }; findOrCreateUser.mockReturnValueOnce(true); const base64Email = new Buffer(mockContext.user.email).toString('base64'); // check the resolver response const res = await resolvers.Mutation.login(null, args, mockContext); expect(res).toEqual('YUBhLmE='); // check if the dataSource was called with correct args expect(findOrCreateUser).toBeCalledWith(args); }); it('returns nothing if login fails', async () => { const args = { email: 'a@a.a' }; // simulate failed lookup/creation findOrCreateUser.mockReturnValueOnce(false); // check the resolver response const res = await resolvers.Mutation.login(null, args, mockContext); expect(res).toBeFalsy(); }); });
version() { let filename = Settings.se.GamePath + '/game/ffxivgame.ver'; if (!fs.existsSync(filename)) { return false; } let buffer = fs.readFileSync(filename); return buffer.toString(); }
ps.stdout.on('data', data => output += data.toString());
// the function that sets up the global context for each resolver, using the req const context = async ({ req }: { req: Request }) => { // simple auth check on every request const auth = (req.headers && req.headers.authorization) || ""; const email = Buffer.from(auth, "base64").toString("ascii"); // if the email isn't formatted validly, return null for user if (!isEmail.validate(email)) { return { user: null }; } // find a user by their email const users = await store.users.findOrCreate({ where: { email } }); const user = users && users[0] ? users[0] : null; return { user: { ...user.dataValues } }; }