-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrouter.js
More file actions
30 lines (28 loc) · 979 Bytes
/
router.js
File metadata and controls
30 lines (28 loc) · 979 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
const BooksController = require('./controllers/bookController')
class BooksRouter {
handleRequest(request, response) {
if(request.url === "/books") {
if (request.method === "GET") {
BooksController.getAll(response);
} else if (request.method === "POST") {
BooksController.post(request, response);
} else {
BooksController.sendError(response)
}
} else {
let bookId = parseInt(request.url.slice(7))
if(bookId !== NaN) {
if (request.method === "PUT" || request.headers['access-control-request-method'] === 'PUT') {
BooksController.editOne(request, response, bookId)
} else if (request.method === "DELETE" || request.headers['access-control-request-method'] === 'DELETE'){
BooksController.delete(response, bookId)
} else if (request.method === "GET") {
BooksController.getOne(response, bookId)
}
} else {
BooksController.sendError(response)
}
}
}
}
module.exports = new BooksRouter()