-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrouter.js
More file actions
31 lines (26 loc) · 712 Bytes
/
Copy pathrouter.js
File metadata and controls
31 lines (26 loc) · 712 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
31
'use strict';
const Url = require('url');
const Config = require('./config');
module.exports = class Router {
/**
* Check if the route params provided are valid.
*
* @param route
* @returns {boolean}
*/
static validateRoute (route) {
let routeArray = route.split('/').filter(String);
return routeArray.length === 1 && Config.core.routes.indexOf(routeArray[0]) !== -1;
};
/**
* Parses Url
*
* @param req
* @param pathname
* @returns {*}
*/
static fetchUrl(req, pathname = false) {
let url_parts = Url.parse(req.url, true);
return ( pathname === true ) ? url_parts.pathname : url_parts.query;
};
};