You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "David Handermann (Jira)" <ji...@apache.org> on 2022/11/09 17:24:00 UTC

[jira] [Comment Edited] (NIFI-10754) Nifi Expression Language method urlEncode does encode a URL path correctly when it contains white space

    [ https://issues.apache.org/jira/browse/NIFI-10754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17631175#comment-17631175 ] 

David Handermann edited comment on NIFI-10754 at 11/9/22 5:23 PM:
------------------------------------------------------------------

Having a function that takes multiple arguments would fall into the category of [subjectless functions|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#subjectless]. In that case, it might make more sense to name it something like {{getUri}}.


was (Author: exceptionfactory):
Having a function that takes multiple arguments would fall into the category of [subjectless functions|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#subjectless]. In that case, it might make more sense to name it something thing {{getUri}}.

> Nifi Expression Language method urlEncode does encode a URL path correctly when it contains white space
> -------------------------------------------------------------------------------------------------------
>
>                 Key: NIFI-10754
>                 URL: https://issues.apache.org/jira/browse/NIFI-10754
>             Project: Apache NiFi
>          Issue Type: Bug
>            Reporter: Daniel Stieglitz
>            Priority: Major
>
> The Nifi Expression Language urlEncode method replaces white space with a + and not %20. That is fine for the query section of a URL but not the path. There are many Stackoverflow posts which detail the issue. Here is one, [URLEncoder not able to translate space character|https://stackoverflow.com/questions/4737841/urlencoder-not-able-to-translate-space-character]
> Our particular scenario is where we build a URL from attributes and then try to call the URL with InvokeHTTP
> e.g. of a URL with a space in its path
> {code:java}
> https://somehost/api/v1/somepath /actual?att1=something&att2=somethingelse{code}
> from that URL we only encode the part which may have special characters
> {code:java}
> somepath /actual{code}
> urlEncode will convert that to 
> {code:java}
> somepath+%2Factual{code}
> The + in the URL path is not the same as a blank space hence the call to InvokeHttp fails.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)