i want download a file via httpengine, and i add head ERange, so it download

just a part of the file, but when all the data is download into iResponseBuffer,

the THTTPEvent::EResponseComplete not happen, so i can not deal with

iResponseBuffer in the MHTTPEngineObserver::ResponseReceivedL

that's my GetRequestL function

void CHTTPEngine::GetRequestL(const TDesC& aUri)
{
iUrl.Copy(aUri);
ParseUriL(aUri);
// Parse the URI

// Create the transaction
RHTTPHeaders headers=iSession.RequestSessionHeadersL();
AddHeaderL(headers,HTTP::EUserAgent,KUserAgent);
_LIT8(KRangeFormat, "bytes=0-32678");
AddHeaderL(headers, HTTP::ERange, KRange);
iTransaction = iSession.OpenTransactionL(iUriParser, *this,
iSession.StringPool().StringF(HTTP::EGET, RHTTPSession::GetTable());
iTransaction.SubmitL();
}


and when the data transfer complete(0-32678 bytes of the file),the THTTPEvent::EResponseComplete not happen, the function MHFRunL
could not implement the part:
case THTTPEvent::EResponseComplete:
{
// Pass the response buffer by reference to the observer
iObserver.ResponseReceivedL(*iResponseBuffer);
}
break;


and the application just stop and wait for
event THTTPEvent::EResponseComplete

somebody help?
THX