demos for spacedust

don't die if a handler throws

+11 -2
+11 -2
server/index.js
··· 272 272 res.end(JSON.stringify({ sup: 'hi' })); 273 273 }; 274 274 275 - const requestListener = (secrets, jwks, whoamiHost, db, adminDid) => (req, res) => { 275 + const attempt = listener => async (req, res) => { 276 + console.log(`-> ${req.method} ${req.url}`); 277 + try { 278 + return await listener(req, res); 279 + } catch (e) { 280 + console.error('listener errored:', e); 281 + } 282 + }; 283 + 284 + const requestListener = (secrets, jwks, whoamiHost, db, adminDid) => attempt((req, res) => { 276 285 if (req.method === 'GET' && req.url === '/') { 277 286 return handleIndex(req, res, { PUBKEY: secrets.pushKeys.publicKey }); 278 287 } ··· 308 317 309 318 res.writeHead(200); 310 319 res.end('sup'); 311 - } 320 + }); 312 321 313 322 const main = env => { 314 323 if (!env.ADMIN_DID) throw new Error('ADMIN_DID is required to run');