Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 3DECD200C10 for ; Fri, 3 Feb 2017 19:08:55 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 3C899160B43; Fri, 3 Feb 2017 18:08:55 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 870FB160B3F for ; Fri, 3 Feb 2017 19:08:54 +0100 (CET) Received: (qmail 47962 invoked by uid 500); 3 Feb 2017 18:08:53 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 47953 invoked by uid 99); 3 Feb 2017 18:08:53 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Feb 2017 18:08:53 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id A4F27DFBDB; Fri, 3 Feb 2017 18:08:53 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: sergeyb@apache.org To: commits@cxf.apache.org Message-Id: <3b7824a0f82048c49a38f548139e0b57@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: cxf git commit: [CXF-7241] Making sure new query params if any are not lost, patch from Ezequiel Rosas Garcia applied with minor updates, This closes #234 Date: Fri, 3 Feb 2017 18:08:53 +0000 (UTC) archived-at: Fri, 03 Feb 2017 18:08:55 -0000 Repository: cxf Updated Branches: refs/heads/3.1.x-fixes 7858c3979 -> 0ad040840 [CXF-7241] Making sure new query params if any are not lost, patch from Ezequiel Rosas Garcia applied with minor updates, This closes #234 Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/0ad04084 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/0ad04084 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/0ad04084 Branch: refs/heads/3.1.x-fixes Commit: 0ad0408403acc677f6f6f529343e2750ddb64b88 Parents: 7858c39 Author: Sergey Beryozkin Authored: Fri Feb 3 18:07:14 2017 +0000 Committer: Sergey Beryozkin Committed: Fri Feb 3 18:08:33 2017 +0000 ---------------------------------------------------------------------- .../apache/cxf/jaxrs/impl/ContainerRequestContextImpl.java | 8 ++++++-- .../test/java/org/apache/cxf/systest/jaxrs/BookServer20.java | 5 +++++ .../cxf/systest/jaxrs/JAXRS20ClientServerBookTest.java | 8 ++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/0ad04084/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ContainerRequestContextImpl.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ContainerRequestContextImpl.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ContainerRequestContextImpl.java index 1fa9557..94a8ce6 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ContainerRequestContextImpl.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ContainerRequestContextImpl.java @@ -115,9 +115,13 @@ public class ContainerRequestContextImpl extends AbstractRequestContextImpl doSetRequestUri(requestUri); } - public void doSetRequestUri(URI requestUri) throws IllegalStateException { + protected void doSetRequestUri(URI requestUri) throws IllegalStateException { checkNotPreMatch(); - HttpUtils.resetRequestURI(m, requestUri.toString()); + HttpUtils.resetRequestURI(m, requestUri.getRawPath()); + String query = requestUri.getRawQuery(); + if (query != null) { + m.put(Message.QUERY_STRING, query); + } } @Override http://git-wip-us.apache.org/repos/asf/cxf/blob/0ad04084/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookServer20.java ---------------------------------------------------------------------- diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookServer20.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookServer20.java index be58f50..fac5206 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookServer20.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/BookServer20.java @@ -215,7 +215,12 @@ public class BookServer20 extends AbstractBusTestServerBase { replaceStream(context); } else if (path.endsWith("books/check2")) { replaceStream(context); + } else if (path.endsWith("books/checkNQuery")) { + URI requestURI = URI.create(path.replace("NQuery", "2?a=b")); + context.setRequestUri(requestURI); + replaceStream(context); } + } private void replaceStream(ContainerRequestContext context) { InputStream is = new ByteArrayInputStream("123".getBytes()); http://git-wip-us.apache.org/repos/asf/cxf/blob/0ad04084/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRS20ClientServerBookTest.java ---------------------------------------------------------------------- diff --git a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRS20ClientServerBookTest.java b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRS20ClientServerBookTest.java index 8fb9459..bbf7f4d 100644 --- a/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRS20ClientServerBookTest.java +++ b/systests/jaxrs/src/test/java/org/apache/cxf/systest/jaxrs/JAXRS20ClientServerBookTest.java @@ -714,6 +714,14 @@ public class JAXRS20ClientServerBookTest extends AbstractBusClientServerTestBase wc.accept("text/plain").type("text/plain"); assertTrue(wc.post("s", Boolean.class)); } + @Test + public void testBookExistsServerAddressOverwriteWithQuery() throws Exception { + String address = "http://localhost:" + PORT + "/bookstore/books/checkNQuery?a=b"; + WebClient wc = WebClient.create(address); + WebClient.getConfig(wc).getHttpConduit().getClient().setReceiveTimeout(10000000); + wc.accept("text/plain").type("text/plain"); + assertTrue(wc.post("s", Boolean.class)); + } @Test public void testPostBookAsync() throws Exception {