62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
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; |