-
Notifications
You must be signed in to change notification settings - Fork 136
Open
Description
I have a staticwebapp.config.json
with a route defined as follows:
{
"routes": [
{
"route": "/manage*",
"allowedRoles": ["authenticated"]
}
]
}
While this is how you should match a path per the docs, the CLI doesn't correctly generate the regex required to do the wildcard matching, it generates /^\/manage*$/
not /^\/manage.*$/
(not the missing .
to indicate the any character after match). There also isn't a test case to cover this in the glob.spec.ts
tests.
You can see the failure to find it appropriately looking at the output in the silly
logging (it's about a dozen lines down):
[swa] --------------------------------------------------------
[swa] ------------------- processing route -------------------
[swa] --------------------------------------------------------
[swa] processing /manage/events
[swa] checking for matching route
[swa] check if request match route
[swa] - route: /manage*
[swa] - wildcard: true
[swa] checking wildcard route
[swa] - glob: /manage*
[swa] - pathBeforeWildcard: /manage
[swa] checking if glob expression is valid
[swa] - glob: /manage*
[swa] - glob ends with *. Return true
[swa] - route regexp: /manage*
[swa] turning glob expression into valid RegExp
[swa] - glob: /manage*
[swa] - regexp: /^\/manage*$/
[swa] - isMatch: false
[swa] - alternateRequestPath: /manage/events/index.html
[swa] checking wildcard route
[swa] - glob: /manage*
[swa] - pathBeforeWildcard: /manage
[swa] checking if glob expression is valid
[swa] - glob: /manage*
[swa] - glob ends with *. Return true
[swa] - route regexp: /manage*
[swa] turning glob expression into valid RegExp
[swa] - glob: /manage*
[swa] - regexp: /^\/manage*$/
[swa] - isMatch: false
[swa] checking auth request
[swa] - not an auth request
[swa] checking function request
[swa] - not a function request
[swa] checking data-api request
[swa] - not a data Api request
[swa] checking HTTP method: GET
[swa] - method is valid (allow-list: GET,HEAD,OPTIONS)
[swa] checking for query params
[swa] checking rewrite auth login request
[swa] checking rewrite auth logout request
[swa] checking authorizations for route
[swa] - no matching rule
[swa] - access authorized
[swa] using userConfig
[swa] - userConfig:
[swa] - routes:
[swa] - 0:
[swa] - route: /manage*
[swa] - allowedRoles:
[swa] - 0: authenticated
[swa] - responseOverrides:
[swa] - 401:
[swa] - rewrite: /
[swa] - statusCode: 200
[swa] checking storage content
[swa] remote dev server detected.
[swa] - url: /manage/events
[swa] - target: http://localhost:5175
[swa] customUrl: false
[swa] is4xx: false
[swa] remote dev server detected. Proxying request
[swa] - url: /manage/events
[swa] - code: 200
[swa] GET http://localhost:5175/manage/events (proxy)
[swa] Connected to tcp:127.0.0.1:5175 successfully
[swa] http://localhost:5175 validated successfully
[swa] Connected to tcp:localhost:5175 successfully
[swa] getting response from dev server
[swa] GET http://localhost:5176/manage/events - 200
Metadata
Metadata
Assignees
Labels
No labels