# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1268984364 -7200 # Node ID 001ef9ddb825817e5f7961ad1e9e001649ff96da # Parent b16258d2340fcf81508750dfc25ab52fffdae3bd Revision: 201004 Kit: 201011 diff -r b16258d2340f -r 001ef9ddb825 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp Tue Feb 02 01:09:52 2010 +0200 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.cpp Fri Mar 19 09:39:24 2010 +0200 @@ -1348,10 +1348,10 @@ } } -void CHttpConnectionManager::InsertPipelineFailedHost(const TDesC8& aHost) - { - iPipelineFallback.InsertPipelineFailedHost(aHost); - } +void CHttpConnectionManager::AppendPipelineFailedHost(const TDesC8& aHost) + { + iPipelineFallback.AppendPipelineFailedHost(aHost); + } CHttpHostElement* CHttpHostElement::New(const TDesC8& aHost) @@ -1441,6 +1441,26 @@ } } + + void CHttpPipelineFallback::AppendPipelineFailedHost(const TDesC8& aHost) + { + // Already failed. no need to check further. + if(NeedPipelineFallback(aHost)) + { + return; + } + + // Failure doesn't matter here. + HBufC8* host = aHost.Alloc(); + if(host == NULL) + { + return; + } + + iPipelineFailedHosts.Append(host); // no error checking as failure does not matter + // we will keep going. + } + diff -r b16258d2340f -r 001ef9ddb825 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.h --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.h Tue Feb 02 01:09:52 2010 +0200 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpconnectionmanager.h Fri Mar 19 09:39:24 2010 +0200 @@ -70,7 +70,19 @@ ~CHttpPipelineFallback(); TBool NeedPipelineFallback(const TDesC8& aHost); - void InsertPipelineFailedHost(const TDesC8& aHost); + +/** + If the pipeline has failed atleast 2 times due to network problems + the host is inserted into the failed host array. The function checks + for the no. of failures for the given host. Only on time failed hosts + are pushed into the probable pipeline failed host array + */ + void InsertPipelineFailedHost(const TDesC8& aHost); + +/** + Add to the pipeline failed host array if not already added. + */ + void AppendPipelineFailedHost(const TDesC8& aHost); private: CHttpPipelineFallback(); @@ -115,7 +127,8 @@ void MakeConnectionNonPersistent(); void CheckRequestComplete(MHttpRequest& aRequest); void DisablePipelining(); - void InsertPipelineFailedHost(const TDesC8& aHost); + void AppendPipelineFailedHost(const TDesC8& aHost); + private: // methods from MHttpRequestObserver diff -r b16258d2340f -r 001ef9ddb825 applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.cpp --- a/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.cpp Tue Feb 02 01:09:52 2010 +0200 +++ b/applayerpluginsandutils/httpprotocolplugins/httpclient/chttpresponseparser.cpp Fri Mar 19 09:39:24 2010 +0200 @@ -226,7 +226,8 @@ iCancellingResponse = ETrue; RHTTPTransaction trans = iProtTrans->Transaction(); RHTTPResponse response = trans.Response(); - + if(iBodyParts.Count() > 0) + iBodyParts.Remove(0); iMessageParser.Flush (); iMessageParser.Reset(); iCancellingResponse = EFalse; @@ -484,7 +485,7 @@ if( headReq.GetField(hostStr, 0, hostVal) == KErrNotFound ) { - // No Host header - do not know which host to connect to. + // No Host header User::Leave(KErrHttpGeneralHeaderMissingHost); } @@ -495,7 +496,7 @@ #if defined (_DEBUG) && defined (_LOGGING) __FLOG_0(_T8("Pipelining is disabled for WebLogic Server- \n")); #endif - manager->InsertPipelineFailedHost(hostVal.StrF().DesC()); + manager->AppendPipelineFailedHost(hostVal.StrF().DesC()); } } @@ -659,7 +660,8 @@ if( !ConsumingResponse() ) { - iResponseObserver.ResponseComplete(aExcessData); + if( iBodyParts.Count() == 0 ) + iResponseObserver.ResponseComplete(aExcessData); if ( iCancellingResponse ) { diff -r b16258d2340f -r 001ef9ddb825 applayerpluginsandutils/uripermissionservices/StringDictionary/URIList.st --- a/applayerpluginsandutils/uripermissionservices/StringDictionary/URIList.st Tue Feb 02 01:09:52 2010 +0200 +++ b/applayerpluginsandutils/uripermissionservices/StringDictionary/URIList.st Fri Mar 19 09:39:24 2010 +0200 @@ -1,8 +1,8 @@ # -# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available -# under the terms of the License "Eclipse Public License v1.0" +# under the terms of "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". # diff -r b16258d2340f -r 001ef9ddb825 applayerpluginsandutils/uripermissionservices/StringDictionary/tldlist.st --- a/applayerpluginsandutils/uripermissionservices/StringDictionary/tldlist.st Tue Feb 02 01:09:52 2010 +0200 +++ b/applayerpluginsandutils/uripermissionservices/StringDictionary/tldlist.st Fri Mar 19 09:39:24 2010 +0200 @@ -1,8 +1,8 @@ # -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available -# under the terms of the License "Eclipse Public License v1.0" +# under the terms of "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". # diff -r b16258d2340f -r 001ef9ddb825 applayerpluginsandutils/uripermissionservices/StringDictionary/tldschema.st --- a/applayerpluginsandutils/uripermissionservices/StringDictionary/tldschema.st Tue Feb 02 01:09:52 2010 +0200 +++ b/applayerpluginsandutils/uripermissionservices/StringDictionary/tldschema.st Fri Mar 19 09:39:24 2010 +0200 @@ -1,8 +1,8 @@ # -# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available -# under the terms of the License "Eclipse Public License v1.0" +# under the terms of "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". # diff -r b16258d2340f -r 001ef9ddb825 applayerpluginsandutils/uripermissionservices/StringDictionary/urischema.st --- a/applayerpluginsandutils/uripermissionservices/StringDictionary/urischema.st Tue Feb 02 01:09:52 2010 +0200 +++ b/applayerpluginsandutils/uripermissionservices/StringDictionary/urischema.st Fri Mar 19 09:39:24 2010 +0200 @@ -1,8 +1,8 @@ # -# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies). # All rights reserved. # This component and the accompanying materials are made available -# under the terms of the License "Eclipse Public License v1.0" +# under the terms of "Eclipse Public License v1.0" # which accompanies this distribution, and is available # at the URL "http://www.eclipse.org/legal/epl-v10.html". # diff -r b16258d2340f -r 001ef9ddb825 applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/ineturilist.xml --- a/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/ineturilist.xml Tue Feb 02 01:09:52 2010 +0200 +++ b/applayerpluginsandutils/uripermissionservices/Test/integration/testwhitelistblacklisturisuite/testdata/duplicate_entries/ineturilist.xml Fri Mar 19 09:39:24 2010 +0200 @@ -1,9 +1,9 @@