camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mads64738 <ma...@yakatak.com>
Subject Camel 2.12 : HTTP4 : Now seeing port number added to Host: header?
Date Wed, 19 Feb 2014 21:46:52 GMT
Hello,

We have been undertaking an upgrade from Camel 2.9.1 to Camel 2.12.2, and in
most cases, the upgrade has been very smooth.

Unfortunately, we have spotted a change of behaviour between 2.9.1 and
2.12.2, with respect to the HTTP4 component.  Following a upgrade, we are
unable to download content from one of our data providers.

Here is an excerpt of a log for 2.9.1 (URLs masked):

2014-02-03 17:17:17,018 [//downloadSmart] DEBUG HttpProducer                  
-            -            - Executing http GET method: http://host/content
2014-02-03 17:17:17,069 [//downloadSmart] DEBUG ThreadSafeClientConnManager   
-            -            - Get connection: HttpRoute[{}->http://host],
timeout = 5000
2014-02-03 17:17:17,072 [//downloadSmart] DEBUG ConnPoolByRoute               
-            -            - [HttpRoute[{}->http://host]] total kept alive:
0, total issued: 0, total allocated: 0 out of 200
2014-02-03 17:17:17,072 [//downloadSmart] DEBUG ConnPoolByRoute               
-            -            - No free connections
[HttpRoute[{}->http://host]][null]
2014-02-03 17:17:17,072 [//downloadSmart] DEBUG ConnPoolByRoute               
-            -            - Available capacity: 20 out of 20
[HttpRoute[{}->http://host]][null]
2014-02-03 17:17:17,072 [//downloadSmart] DEBUG ConnPoolByRoute               
-            -            - Creating new connection
[HttpRoute[{}->http://host]]
2014-02-03 17:17:17,088 [//downloadSmart] DEBUG
efaultClientConnectionOperator -            -            - Connecting to
host:80
2014-02-03 17:17:17,261 [//downloadSmart] DEBUG RequestAddCookies             
-            -            - CookieSpec selected: best-match
2014-02-03 17:17:17,274 [//downloadSmart] DEBUG RequestAuthCache              
-            -            - Auth cache not set in the context
2014-02-03 17:17:17,274 [//downloadSmart] DEBUG DefaultHttpClient             
-            -            - Attempt 1 to execute request
2014-02-03 17:17:17,274 [//downloadSmart] DEBUG DefaultClientConnection       
-            -            - Sending request: GET /content HTTP/1.1
2014-02-03 17:17:17,275 [//downloadSmart] DEBUG wire                          
-            -            - >> "GET /content HTTP/1.1[\r][\n]"
2014-02-03 17:17:17,277 [//downloadSmart] DEBUG wire                          
-            -            - >> "breadcrumbId:
ID-mac-002-49991-1391447833553-0-6[\r][\n]"
2014-02-03 17:17:17,277 [//downloadSmart] DEBUG wire                          
-            -            - >> "Host: host[\r][\n]"

Here is the equivalent log on Camel 2.12.2 (URLs masked):

2014-02-17 23:26:19,302 [//downloadSmart] DEBUG HttpProducer                  
-            -            - Executing http GET method:
http://host:80/content
2014-02-17 23:26:19,349 [//downloadSmart] DEBUG
PoolingClientConnectionManager -            -            - Connection
request: [route: {}->http://host:80][total kept alive: 0; route allocated: 0
of 20; total allocated: 0 of 200]
2014-02-17 23:26:19,366 [//downloadSmart] DEBUG
PoolingClientConnectionManager -            -            - Connection
leased: [id: 0][route: {}->http://host:80][total kept alive: 0; route
allocated: 1 of 20; total allocated: 1 of 200]
2014-02-17 23:26:19,369 [//downloadSmart] DEBUG
efaultClientConnectionOperator -            -            - Connecting to
host:80
2014-02-17 23:26:19,550 [//downloadSmart] DEBUG RequestAddCookies             
-            -            - CookieSpec selected: best-match
2014-02-17 23:26:19,565 [//downloadSmart] DEBUG RequestAuthCache              
-            -            - Auth cache not set in the context
2014-02-17 23:26:19,565 [//downloadSmart] DEBUG RequestTargetAuthentication   
-            -            - Target auth state: UNCHALLENGED
2014-02-17 23:26:19,566 [//downloadSmart] DEBUG RequestProxyAuthentication    
-            -            - Proxy auth state: UNCHALLENGED
2014-02-17 23:26:19,566 [//downloadSmart] DEBUG DefaultHttpClient             
-            -            - Attempt 1 to execute request
2014-02-17 23:26:19,566 [//downloadSmart] DEBUG DefaultClientConnection       
-            -            - Sending request: GET /content HTTP/1.1
2014-02-17 23:26:19,567 [//downloadSmart] DEBUG wire                          
-            -            -  >> "GET /content HTTP/1.1[\r][\n]"
2014-02-17 23:26:19,568 [//downloadSmart] DEBUG wire                          
-            -            -  >> "breadcrumbId:
ID-mac-002-54437-1392679322140-0-4[\r][\n]"
2014-02-17 23:26:19,568 [//downloadSmart] DEBUG wire                          
-            -            -  >> "Host: host:80[\r][\n]"


The only difference we could spot was the introduction of the HTTP default
port number at the "HttpProducer" in Camel 2.12.2.  This is then passed into
the underlying HttpClient and we see "Host: <host>:80" being applied.

Performing a browser-based test, we can 'prove' that its the addition of the
":80" that means our content download fails against this particular download
site.

Are there any settings that reverts this back to the old behaviour, where
the port is not added to the Host header?

Any thoughts are appreciated.

Best regards, Madhu.



--
View this message in context: http://camel.465427.n5.nabble.com/Camel-2-12-HTTP4-Now-seeing-port-number-added-to-Host-header-tp5747601.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Mime
View raw message