Return-Path: Delivered-To: apmail-camel-users-archive@www.apache.org Received: (qmail 18060 invoked from network); 26 Apr 2010 01:41:57 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 26 Apr 2010 01:41:57 -0000 Received: (qmail 57832 invoked by uid 500); 26 Apr 2010 01:41:56 -0000 Delivered-To: apmail-camel-users-archive@camel.apache.org Received: (qmail 57804 invoked by uid 500); 26 Apr 2010 01:41:56 -0000 Mailing-List: contact users-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@camel.apache.org Delivered-To: mailing list users@camel.apache.org Received: (qmail 57796 invoked by uid 99); 26 Apr 2010 01:41:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Apr 2010 01:41:56 +0000 X-ASF-Spam-Status: No, hits=-0.5 required=10.0 tests=AWL,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of willem.jiang@gmail.com designates 209.85.212.173 as permitted sender) Received: from [209.85.212.173] (HELO mail-px0-f173.google.com) (209.85.212.173) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Apr 2010 01:41:49 +0000 Received: by pxi19 with SMTP id 19so1246369pxi.32 for ; Sun, 25 Apr 2010 18:41:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from :user-agent:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=SbpIitAgEKOEmLIYezqMmbtpwaGzXfK4uJd77m8YNlU=; b=jaxf6u85OOVqwkQ3FcTYl/ajjwskctcci33u5apo1NDYu4bdU1AXYvO+bzRNiQ1dnw R/H1+Wgv6lgnauYBIty2bW422SikKrEfTDS1yQqLdNYkOA6mnpuJxoFp40oiozbR9O8A zcWyLDaK7LLuNxKGfC+tubknZAjKx+8DPkcqw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; b=bDyaKOobNyKqAGuBvb4RQUnttkvH9czDalZb/qOMdkYLbZQ0ISMA0BbPU/TJRl71RT rcKgKvuvzwl8R2j/OuBE/rmyTTacbOqypEUsOT2y1C7eP4RJTWy+CdbwnQqIl9lRGm3O lmCJgTFrP+IUzy1AbHZt06IMY4fidFoOigwno= Received: by 10.115.135.20 with SMTP id m20mr3297666wan.54.1272246086632; Sun, 25 Apr 2010 18:41:26 -0700 (PDT) Received: from [192.168.0.158] ([125.33.124.186]) by mx.google.com with ESMTPS id 33sm18364522wad.5.2010.04.25.18.41.24 (version=TLSv1/SSLv3 cipher=RC4-MD5); Sun, 25 Apr 2010 18:41:25 -0700 (PDT) Message-ID: <4BD4EF41.80509@gmail.com> Date: Mon, 26 Apr 2010 09:41:21 +0800 From: Willem Jiang User-Agent: Thunderbird 2.0.0.24 (Macintosh/20100228) MIME-Version: 1.0 To: users@camel.apache.org Subject: Re: jetty:http component "mangles" x-www-form-urlencoded POST in message: References: <28348176.post@talk.nabble.com> <4BD29B76.8080909@gmail.com> <28354331.post@talk.nabble.com> <4BD4DB14.6040506@gmail.com> <28359919.post@talk.nabble.com> In-Reply-To: <28359919.post@talk.nabble.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit I just have a quick thought, how about using camel-mina component to do the http proxy. In this way, it just do the tcp layer work and will not get touch with headers and body. Willem greenstar wrote: > > willem.jiang wrote: >> Thanks for your patch. I will review you path today and will keep you >> posted. >> > > Thanks. > > I wonder if we can go further and provide more robust features/options for > when the http endpoints are used for "proxying". For example, it would be > nice if the form params (either from the POST body or the query string) > where moved to the headers in such a way as to able to filter them out > before they are proxied out to the http destination (eg: say prefixed with > X-Camel-FormParam-*). In theory, a query param could cause problems when > it's presented to the destination as a header as well (which wasn't the > destination services intention). For example, what if there is a query > param called "Expires"? Currently, this will end up in the HTTP request > headers and almost certainly cause problems.