You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "Kevin Risden (JIRA)" <ji...@apache.org> on 2019/04/26 20:12:00 UTC

[jira] [Updated] (KNOX-1559) Create Dispatch implementation that is configurable via service.xml file

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

Kevin Risden updated KNOX-1559:
-------------------------------
    Description: 
Create a {{org.apache.knox.gateway.dispatch.Dispatch}} implementation that is configurable via metadata file (for example, {{service.xml}}). Configurable parameters should be
 * headers to exclude when forwarding requests
 * whether parameters should URL-encoded or not

Such an implementation should be able to make at least the following Dispatch implementations obsolete:
 * org.apache.knox.gateway.dispatch.PassAllHeadersNoEncodingDispatch
 * org.apache.knox.gateway.dispatch.PassAllHeadersDispatch

A possible declaration could be:
{code:java}
    <dispatch classname="org.apache.knox.gateway.dispatch.ConfigurableDispatch">
       <property>
           <name>excludeHeaders<name>
           <value>Authorization,Content-Length</value>
       </property>
       <property>
           <name>removeUrlEncoding<name>
           <value>false</value>
       </property>
    </dispatch>
{code}
Or maybe
{code:java}
    <dispatch classname="org.apache.knox.gateway.dispatch.ConfigurableDispatch" removeUrlEncoding="true" excludeHeaders="Authorization, Content-Length" />
{code}

  was:
Create a {{org.apache.knox.gateway.dispatch.Dispatch}} implementation that is configurable via metadata file (for example, {{service.xml}}).   Configurable parameters should be 
* headers to exclude when forwarding requests
* whether parameters should URL-encoded or not

Such an implementation should be able to make at least the following Dispatch implementations obsolete:
* org.apache.knox.gateway.dispatch.PassAllHeadersNoEncodingDispatch
* org.apache.knox.gateway.dispatch.PassAllHeadersDispatch

A possible declaration could be:
{code}
    <dispatch classname="org.apache.knox.gateway.dispatch.ConfigurableDispatch">
       <property>
           <name>excludeHeaders<name>
           <value>Authorization, Content-Length</value>
       </property>
       <property>
           <name>removeUrlEncoding<name>
           <value>false</value>
       </property>
    </dispatch>
{code}

Or maybe
{code}
    <dispatch classname="org.apache.knox.gateway.dispatch.ConfigurableDispatch" removeUrlEncoding="true" excludeHeaders="Authorization, Content-Length" />
{code}


> Create Dispatch implementation that is configurable via service.xml file
> ------------------------------------------------------------------------
>
>                 Key: KNOX-1559
>                 URL: https://issues.apache.org/jira/browse/KNOX-1559
>             Project: Apache Knox
>          Issue Type: Improvement
>            Reporter: Robert Levas
>            Assignee: Kevin Risden
>            Priority: Major
>              Labels: ambari
>             Fix For: 1.3.0
>
>         Attachments: KNOX-1559.patch, KNOX-1559.patch, KNOX-1559.patch, KNOX-1559.patch, KNOX-1559.patch, KNOX-1559.patch
>
>
> Create a {{org.apache.knox.gateway.dispatch.Dispatch}} implementation that is configurable via metadata file (for example, {{service.xml}}). Configurable parameters should be
>  * headers to exclude when forwarding requests
>  * whether parameters should URL-encoded or not
> Such an implementation should be able to make at least the following Dispatch implementations obsolete:
>  * org.apache.knox.gateway.dispatch.PassAllHeadersNoEncodingDispatch
>  * org.apache.knox.gateway.dispatch.PassAllHeadersDispatch
> A possible declaration could be:
> {code:java}
>     <dispatch classname="org.apache.knox.gateway.dispatch.ConfigurableDispatch">
>        <property>
>            <name>excludeHeaders<name>
>            <value>Authorization,Content-Length</value>
>        </property>
>        <property>
>            <name>removeUrlEncoding<name>
>            <value>false</value>
>        </property>
>     </dispatch>
> {code}
> Or maybe
> {code:java}
>     <dispatch classname="org.apache.knox.gateway.dispatch.ConfigurableDispatch" removeUrlEncoding="true" excludeHeaders="Authorization, Content-Length" />
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)