You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "Nishant Bangarwa (JIRA)" <ji...@apache.org> on 2016/12/07 05:47:59 UTC

[jira] [Updated] (KNOX-799) Rewrite rules for handling of trailing slash '/'

     [ https://issues.apache.org/jira/browse/KNOX-799?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nishant Bangarwa updated KNOX-799:
----------------------------------
    Description: 
I am trying to use knox as a proxy for superset which is a flask application. 
Flask applications have behave differently when we add or remove trailing slash in the URL. 

In superset we have urls both with and without trailing slash and the expected behavior is to keep trailing ‘/‘ if its in the input URL I.e do exact match for the path and substitute it in template including trailing ‘/'. 

Consider the case of of these two URLs - 
1) /users/list/
2) /users/add
Now when I use following rewrite rule - 
{code}
<rule dir="IN" name="SUPERSET-UI/superset-ui/inbound/path" pattern="*://*:*/**/superset-ui/{path=**}">
  <rewrite template="{$serviceUrl[SUPERSET-UI]}/{path=**}"/>
</rule>
{code}

It removes trailing slash from all the matching urls.
The expected behavior for knox is to preserve trailing '/' in the urls while rewriting. 

  was:
I am trying to use knox as a proxy for superset which is a flask application. 
Flask applications have behave differently when we add or remove trailing slash in the URL. 

In superset we have urls both with and without trailing slash and the expected behavior is to keep trailing ‘/‘ if its in the input URL I.e do exact match for the path and substitute it in template including trailing ‘/'. 

Consider the case of of these two URLs - 
1) /users/list/
2) /users/add
Now when I use following rewrite rule - 
{code}
<rule dir="IN" name="SUPERSET-UI/superset-ui/inbound/path" pattern="*://*:*/**/superset-ui/{path=**}">
  <rewrite template="{$serviceUrl[SUPERSET-UI]}/{path=**}"/>
</rule>
{code}

It removes trailing slash from all the urls matching urls.
The expected behavior for knox is to preserve trailing '/' in the urls while rewriting. 


> Rewrite rules for handling of trailing slash '/' 
> -------------------------------------------------
>
>                 Key: KNOX-799
>                 URL: https://issues.apache.org/jira/browse/KNOX-799
>             Project: Apache Knox
>          Issue Type: Bug
>            Reporter: Nishant Bangarwa
>
> I am trying to use knox as a proxy for superset which is a flask application. 
> Flask applications have behave differently when we add or remove trailing slash in the URL. 
> In superset we have urls both with and without trailing slash and the expected behavior is to keep trailing ‘/‘ if its in the input URL I.e do exact match for the path and substitute it in template including trailing ‘/'. 
> Consider the case of of these two URLs - 
> 1) /users/list/
> 2) /users/add
> Now when I use following rewrite rule - 
> {code}
> <rule dir="IN" name="SUPERSET-UI/superset-ui/inbound/path" pattern="*://*:*/**/superset-ui/{path=**}">
>   <rewrite template="{$serviceUrl[SUPERSET-UI]}/{path=**}"/>
> </rule>
> {code}
> It removes trailing slash from all the matching urls.
> The expected behavior for knox is to preserve trailing '/' in the urls while rewriting. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)