2
0

page.js 701 B

123456789101112131415161718192021222324252627282930
  1. const qs = require('querystring')
  2. const _ = require('lodash')
  3. module.exports = {
  4. /**
  5. * Parse raw url path and make it safe
  6. */
  7. parsePath (rawPath) {
  8. let pathObj = {
  9. locale: 'en',
  10. path: 'home',
  11. private: false,
  12. privateNS: ''
  13. }
  14. // Clean Path
  15. rawPath = _.trim(qs.unescape(rawPath))
  16. if (_.startsWith(rawPath, '/')) { rawPath = rawPath.substring(1) }
  17. if (rawPath === '') { rawPath = 'home' }
  18. // Extract Info
  19. let pathParts = _.filter(_.split(rawPath, '/'), p => !_.isEmpty(p))
  20. if (pathParts[0].length === 2) {
  21. pathObj = pathParts[0]
  22. pathParts.shift()
  23. }
  24. pathObj.path = _.join(pathParts, '/')
  25. return pathObj
  26. }
  27. }