import generateManifest from '../controllers/manifest.mjs'; import generateCanvas from '../controllers/canvas.mjs'; import generateSequence from '../controllers/sequence.mjs'; import exposeParams from '../controllers/params.mjs'; import express from 'express'; let router = express.Router(); // TODO Log errors /* GET manifest JSON */ router.get('/iiif/:manifestid/manifest', async function(req, res) { let manifest = {}; res.set('Access-Control-Allow-Origin', '*'); try { manifest = await generateManifest(req.params.manifestid) } catch(error) { res.status(500).json({ status: 500, message: 'There was an error processing this request', details: error }); } res.json(manifest); }); /* GET canvas JSON */ router.get('/iiif/:manifestid/canvas/:name', async function(req, res) { let canvas = {}; res.set('Access-Control-Allow-Origin', '*'); try { canvas = await generateCanvas(req.params.manifestid, req.params.name) } catch(error) { res.status(500).json({status: 500, message: 'There was an error processing this request: ' + error}); return; } res.json(canvas); }); /* GET sequence JSON */ router.get('/iiif/:manifestid/sequence/:name', async function(req, res) { let sequence = {}; res.set('Access-Control-Allow-Origin', '*'); try { sequence = await generateSequence(req.params.manifestid, req.params.name) } catch(error) { res.status(500).json({status: 500, message: 'There was an error processing this request'}); } res.json(sequence); }); /* GET possible params for manifest responses */ router.get('/params', async function(req, res) { res.set('Access-Control-Allow-Origin', '*'); try { res.json(await exposeParams()); } catch(error) { res.status(500).json({status: 500, message: 'There was an error processing this request'}); } }); export default router;