connect-vtexid
Version:
VTEX ID Authentication middleware for Connect
37 lines (29 loc) • 913 B
text/coffeescript
###
Module dependencies.
###
class WhiteList
constructor: () ->
or= [
'/admin/Content'
'/admin/Scripts'
'/meta/whoami'
'/admin/login'
/api\/.*/
/admin\/[\w_-]*\/lib\/.*/
/admin\/[\w_-]*\/script\/.*/
/admin\/[\w_-]*\/style\/.*/
/admin\/[\w_-]*\/i18n\/.*/
]
isInWhiteList: (url) ->
throw new Error '"url" parameter is required' if not url?
for publicUri in
return true if typeof publicUri is 'string' and url.indexOf(publicUri) is 0
return true if typeof publicUri is 'object' and publicUri.test(url)
return false
addToPublicUris: (publicUris) ->
throw new Error '"publicUris" is required' if not publicUris?
if typeof publicUris.push is 'function'
= .concat publicUris
else
.push publicUris
module.exports = WhiteList