[ https://issues.apache.org/jira/browse/CXF-3518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13034302#comment-13034302 ]
Ka-Lok Fung commented on CXF-3518: ---------------------------------- For my use cases, your suggestion will work: bq. So would checking if the header value starts with \" and if yes then parse it using fast indexOf will work well in most/all such cases ? However, this is technically allowed (per RFC2616, section 2.2, see quoted-pair) bq. SomeHeader: "some text, some more text with inlined \"" What do you think of me submitting another patch that works for the following use cases: * {{SomeHeader: "some text, some more text"}} * {{SomeHeader: "some text","quoted,text","even more text"}} * {{SomeHeader: "some text, some more text with inlined \""}} but would fail for the following use case: * {{SomeHeader: some text,"other quoted, text","blah"}} Because we're doing text scanning, I'm thinking that the most efficient way to do this is actually going character by character in the string (converting to {{char[]}} first) than using indexOf. However, I could do a benchmark to see which is faster and choose that for the patch :) What do you think? > WebClient doesn't handle responses containing a quoted-string in a header > correctly > ----------------------------------------------------------------------------------- > > Key: CXF-3518 > URL: https://issues.apache.org/jira/browse/CXF-3518 > Project: CXF > Issue Type: Bug > Components: JAX-RS > Affects Versions: 2.4, 2.3.4 > Environment: JDK 1.6 > Reporter: Ka-Lok Fung > Priority: Minor > Fix For: 2.4.1, 2.3.5 > > Attachments: trunk.wc_quote_minimal.diff > > > Similar to CXF-2462, if a request returns a response header that looks like > the following: > bq. {{q: "stuff with commas, and spaces"}} > WebClient's response.getMetadata() returns 2 values: > {quote} > # "stuff with commas > # and spaces" > {quote} > while the correct response should be: > {quote} > # stuff with commas, and spaces > {quote} > Here's the WebClient code which reproduces the issue (as long as the server > response contains a header that returns the header value above): > {code:Java} > Response r = WebClient.create(new > URI("http://localhost:8080")).path("key/quoted").get(); > List<Object> l = r.getMetadata().get("q"); > {code} -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira