GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — HttpRequest/JavaScript/6-api.js at master · HowProgrammingWorks/HttpRequest Expand file tree/ Copy path6-api.jsMore file actions 38 lines (32 loc) · 897 Bytes / Copy path6-api.jsFile metadata and controls38 lines (32 loc) · 897 Bytes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 'use strict'; const http = require('node:http'); const ajax = (base, methods) => { const api = {}; for (const method of methods) { api[method] = (...args) => { const callback = args.pop(); const url = `${base}${method}/${args.join('/')}`; console.log(url); http.get(url, (res) => { if (res.statusCode !== 200) { callback(new Error(`Status Code: ${res.statusCode}`)); return; } const buffer = []; res.on('data', (chunk) => buffer.push(chunk)); res.on('end', () => callback(null, JSON.parse(buffer.join()))); }); }; } return api; }; // Usage const api = ajax('http://localhost:8000/api/', ['user', 'userBorn']); api.user('marcus', (err, data) => { if (err) throw err; console.dir({ data }); }); api.userBorn('mao', (err, data) => { if (err) throw err; console.dir({ data }); }); |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |