-
Notifications
You must be signed in to change notification settings - Fork 306
Expand file tree
/
Copy pathldp-middleware.js
More file actions
39 lines (32 loc) · 1.09 KB
/
ldp-middleware.js
File metadata and controls
39 lines (32 loc) · 1.09 KB
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
39
module.exports = LdpMiddleware
var express = require('express')
var header = require('./header')
var acl = require('./acl')
var authentication = require('./handlers/authentication')
var get = require('./handlers/get')
var post = require('./handlers/post')
var put = require('./handlers/put')
var del = require('./handlers/delete')
var patch = require('./handlers/patch')
var index = require('./handlers/index')
var errorPages = require('./handlers/error-pages')
function LdpMiddleware (corsSettings) {
var router = express.Router('/')
// Add Link headers
router.use(header.linksHandler)
if (corsSettings) {
router.use(corsSettings)
}
router.use('/*', authentication)
router.get('/*', index, acl.allow('Read'), get)
router.post('/*', acl.allow('Append'), post)
router.patch('/*', acl.allow('Append'), patch)
router.put('/*', acl.allow('Write'), put)
router.delete('/*', acl.allow('Write'), del)
// Errors
router.use(errorPages)
// TODO: in the process of being deprecated
// Convert json-ld and nquads to turtle
// router.use('/*', parse.parseHandler)
return router
}