/// <summary>
/// Clean up context.
/// </summary>
/// <remarks>
/// Make sure to call base.Cleanup() if you override the method.
/// </remarks>
public virtual void Cleanup()
{
if (StreamPassedOff)
{
return;
}
if (Stream != null)
{
Stream.Close();
Stream = null;
m_sock = null;
}
m_currentRequest?.Clear();
m_currentRequest = null;
m_currentResponse?.Clear();
m_currentResponse = null;
requestsInServiceIDs.Clear();
FirstRequestLineReceived = false;
FullRequestReceived = false;
FullRequestProcessed = false;
MonitorStartMS = 0;
StopMonitoring = true;
MonitorKeepaliveMS = 0;
TriggerKeepalive = false;
isSendingResponse = false;
m_ReceiveBytesLeft = 0;
contextID = -100;
m_parser.Clear();
}