Return-Path: X-Original-To: apmail-hc-dev-archive@www.apache.org Delivered-To: apmail-hc-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id AD7A210D31 for ; Fri, 2 Aug 2013 11:23:51 +0000 (UTC) Received: (qmail 24852 invoked by uid 500); 2 Aug 2013 11:23:50 -0000 Delivered-To: apmail-hc-dev-archive@hc.apache.org Received: (qmail 24636 invoked by uid 500); 2 Aug 2013 11:23:50 -0000 Mailing-List: contact dev-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list dev@hc.apache.org Received: (qmail 24609 invoked by uid 99); 2 Aug 2013 11:23:49 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 02 Aug 2013 11:23:49 +0000 Date: Fri, 2 Aug 2013 11:23:49 +0000 (UTC) From: "Oleg Kalnichevski (JIRA)" To: dev@hc.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (HTTPCORE-337) Example Fix: NIO Reverse Proxy Server Example MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HTTPCORE-337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Oleg Kalnichevski resolved HTTPCORE-337. ---------------------------------------- Resolution: Won't Fix Fix Version/s: (was: 4.3) > Example Fix: NIO Reverse Proxy Server Example > --------------------------------------------- > > Key: HTTPCORE-337 > URL: https://issues.apache.org/jira/browse/HTTPCORE-337 > Project: HttpComponents HttpCore > Issue Type: Bug > Components: Examples > Affects Versions: 4.2.4 > Reporter: Mike Corneille > Priority: Minor > > Problem: The 302 redirect doesn't work because the "location" header isn't properly transposed. By copying all headers from the origin to the client respolves the 302 problem. There could be other issues with simply transposing all headers, but this is a good fix to add for now... > Examples found on page: > http://hc.apache.org/httpcomponents-core-ga/examples.html > http://hc.apache.org/httpcomponents-core-ga/httpcore-nio/examples/org/apache/http/examples/nio/NHttpReverseProxy.java > +import org.apache.http.Header; > import org.apache.http.HttpResponse; > import org.apache.http.message.BasicHttpResponse; > import org.apache.http.nio.ContentEncoder; > @@ -46,6 +47,11 @@ class ProxyResponseProducer implements HttpAsyncResponseProducer > // Rewrite response!!!! > BasicHttpResponse r = new BasicHttpResponse(response.getStatusLine()); > > + Header[] headers = response.getAllHeaders(); > + for (Header header: headers) > + { > + if (!header.getName().toLowerCase().equals("transfer-encoding") && !header.getName().toLowerCase().equals("content-length") > + && !header.getName().toLowerCase().equals("connection")) > + { > + r.addHeader(header); > + } > + } > r.setEntity(response.getEntity()); > return r; > } > @@ -118,4 +137,4 @@ class ProxyRequestProducer implements HttpAsyncRequestProducer > + if (!header.getName().toLowerCase().equals("host") && !header.getName().toLowerCase().equals("content-length")) > + { > + r.addHeader(header); > + } > + } > + > r.setEntity(((HttpEntityEnclosingRequest) request).getEntity()); > return r; > } > else > { > - return new BasicHttpRequest(request.getRequestLine()); > + BasicHttpRequest r = new BasicHttpRequest(request.getRequestLine()); > + Header[] headers = request.getAllHeaders(); > + for (Header header: headers) > + { > + if (!header.getName().toLowerCase().equals("host") && !header.getName().toLowerCase().equals("content-length")) > + { > + r.addHeader(header); > + } > + } > + > + return r; > } > } -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org For additional commands, e-mail: dev-help@hc.apache.org