nsHTTPResponseListener::OnStopRequest(nsIChannel* channel, nsISupports* i_pContext, nsresult i_Status, const PRUnichar* i_pMsg)
nsHTTPCacheListener::OnStopRequest(nsIChannel *aChannel, nsISupports *aContext, nsresult aStatus, const PRUnichar *aErrorMsg)
nsHTTPResponseListener::OnStopRequest(nsIChannel* channel,                                      nsISupports* i_pContext,                                      nsresult i_Status,                                      const PRUnichar* i_pMsg){    nsresult rv = NS_OK;    PR_LOG(gHTTPLog, PR_LOG_ALWAYS,            ("nsHTTPResponseListener::OnStopRequest [this=%x]."            "\tStatus = %x\n", this, i_Status));    if (NS_SUCCEEDED(rv) && !mHeadersDone) {        //        // Oh great!!  The server has closed the connection without sending         // an entity.  Assume that it has sent all the response headers and        // process them - in case the status indicates that some action should        // be taken (ie. redirect).        //        // Ignore the return code, since the request is being completed...        //        mHeadersDone = PR_TRUE;        if (mResponse) {            (void)FinishedResponseHeaders();        }    }    // Notify the HTTPChannel that the response has completed...    NS_ASSERTION(mChannel, "HTTPChannel is null.");    if (mChannel) {        mChannel->ResponseCompleted(channel, mResponseDataListener,                                     i_Status, i_pMsg);        // The HTTPChannel is no longer needed...        mChannel->mRawResponseListener = 0;    }    NS_IF_RELEASE(mChannel);    NS_IF_RELEASE(mResponse);    return rv;}