fix issue #26 AspNetCoreModule needs to abort failed responses (#34)

This commit is contained in:
pan-wang 2016-10-31 13:03:13 -07:00 committed by GitHub
parent ae727d64a9
commit 4569d6d6d5
3 changed files with 14 additions and 1 deletions

View File

@ -27,6 +27,7 @@ enum FORWARDING_REQUEST_STATUS
FORWARDER_SENDING_REQUEST, FORWARDER_SENDING_REQUEST,
FORWARDER_RECEIVING_RESPONSE, FORWARDER_RECEIVING_RESPONSE,
FORWARDER_RECEIVED_WEBSOCKET_RESPONSE, FORWARDER_RECEIVED_WEBSOCKET_RESPONSE,
FORWARDER_RESET_CONNECTION,
FORWARDER_DONE FORWARDER_DONE
}; };

View File

@ -51,7 +51,7 @@ VOID
HKEY hKey; HKEY hKey;
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,
L"SOFTWARE\\Microsoft\\IIS Extensions\\AspNetCore Module\\Parameters", L"SOFTWARE\\Microsoft\\IIS Extensions\\IIS AspNetCore Module\\Parameters",
0, 0,
KEY_READ, KEY_READ,
&hKey) == NO_ERROR) &hKey) == NO_ERROR)

View File

@ -1591,6 +1591,12 @@ Return Value:
retVal = RQ_NOTIFICATION_PENDING; retVal = RQ_NOTIFICATION_PENDING;
goto Finished; goto Finished;
} }
else if (m_RequestStatus == FORWARDER_RESET_CONNECTION)
{
hr = HRESULT_FROM_WIN32(ERROR_WINHTTP_INVALID_SERVER_RESPONSE);
goto Failure;
}
// //
// Begins normal completion handling. There is already a shared acquired // Begins normal completion handling. There is already a shared acquired
@ -2185,6 +2191,12 @@ None
Failure: Failure:
if (hr == HRESULT_FROM_WIN32(ERROR_WINHTTP_INVALID_SERVER_RESPONSE))
{
m_RequestStatus = FORWARDER_RESET_CONNECTION;
goto Finished;
}
m_RequestStatus = FORWARDER_DONE; m_RequestStatus = FORWARDER_DONE;
pResponse->DisableKernelCache(); pResponse->DisableKernelCache();