[jira] [Created] (CXF-8170) Failure to parse multiple comma separated links in an HTTP Link header on a Jaxrs Response object

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (CXF-8170) Failure to parse multiple comma separated links in an HTTP Link header on a Jaxrs Response object

Andriy Redko (Jira)
Ben M. created CXF-8170:
---------------------------

             Summary: Failure to parse multiple comma separated links in an HTTP Link header on a Jaxrs Response object
                 Key: CXF-8170
                 URL: https://issues.apache.org/jira/browse/CXF-8170
             Project: CXF
          Issue Type: Bug
          Components: JAX-RS
    Affects Versions: 3.3.4
         Environment: Web
            Reporter: Ben M.


{color:#FF0000}*Blocker: Specification violation resulting in RuntimeException*{color}

Dear Apache Contributors,

Recently I authored a pull request for OpenLiberty, which was then created by [https://github.com/WhiteCat22.]

 

Original issue:
[https://github.com/OpenLiberty/open-liberty/issues/8863]

 

Original PR:
[https://github.com/OpenLiberty/open-liberty/pull/8956]
h2. Description

If a server returns HTTP link headers, it may do so with responding multiple link headers, or just one link header with comma separated fields.

CXF only  recognizes multiple link headers. If only one link header with multiple values was supplied, it will throw an unexpected RuntimeException: 

{{java.lang.IllegalArgumentException: Illegal character in query at index n}}: (Link header here)
{{Caused by: java.net.URISyntaxException: Illegal character in query at index}}
h2. Examples
h3. Working Response:

{{HTTP/1.1}}
{{Link: <http://localhost/api/endpoint?offset=0&sysparm_limit=5>;rel="first"}}
{{Link: <http://localhost/api/endpoint?offset=5&sysparm_limit=5>;rel="next"}}
{{Link: <http://localhost/api/endpoint?offset=45&sysparm_limit=5>;rel="last"}}
h3. Not working response:

{{HTTP/1.1}}
{{Link: <http://localhost/api/endpoint?offset=0&sysparm_limit=5>;rel="first",<http://localhost/api/endpoint?offset=5&sysparm_limit=5>;rel="next",<http://localhost/api/endpoint?offset=45&sysparm_limit=5>;rel="last"}}

That should have worked, though.

 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)