Return HRESULT
This commit is contained in:
parent
e2e5a226c2
commit
1686a71046
|
|
@ -69,7 +69,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration
|
||||||
internal unsafe static extern HttpApiTypes.HTTP_RESPONSE_V2* http_get_raw_response(IntPtr pInProcessHandler);
|
internal unsafe static extern HttpApiTypes.HTTP_RESPONSE_V2* http_get_raw_response(IntPtr pInProcessHandler);
|
||||||
|
|
||||||
[DllImport(AspNetCoreModuleDll, CharSet = CharSet.Ansi)]
|
[DllImport(AspNetCoreModuleDll, CharSet = CharSet.Ansi)]
|
||||||
public unsafe static extern void http_set_response_status_code(IntPtr pInProcessHandler, ushort statusCode, string pszReason);
|
public unsafe static extern int http_set_response_status_code(IntPtr pInProcessHandler, ushort statusCode, string pszReason);
|
||||||
|
|
||||||
[DllImport(AspNetCoreModuleDll)]
|
[DllImport(AspNetCoreModuleDll)]
|
||||||
public unsafe static extern int http_read_request_bytes(IntPtr pInProcessHandler, byte* pvBuffer, int cbBuffer, out int dwBytesReceived, out bool fCompletionExpected);
|
public unsafe static extern int http_read_request_bytes(IntPtr pInProcessHandler, byte* pvBuffer, int cbBuffer, out int dwBytesReceived, out bool fCompletionExpected);
|
||||||
|
|
|
||||||
|
|
@ -336,7 +336,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration
|
||||||
|
|
||||||
// This copies data into the underlying buffer
|
// This copies data into the underlying buffer
|
||||||
NativeMethods.http_set_response_status_code(_pInProcessHandler, (ushort)StatusCode, reasonPhrase);
|
NativeMethods.http_set_response_status_code(_pInProcessHandler, (ushort)StatusCode, reasonPhrase);
|
||||||
|
|
||||||
HttpResponseHeaders.IsReadOnly = true;
|
HttpResponseHeaders.IsReadOnly = true;
|
||||||
foreach (var headerPair in HttpResponseHeaders)
|
foreach (var headerPair in HttpResponseHeaders)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -74,13 +74,15 @@ Finished:
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
EXTERN_C __MIDL_DECLSPEC_DLLEXPORT VOID http_set_response_status_code(
|
EXTERN_C __MIDL_DECLSPEC_DLLEXPORT
|
||||||
|
HRESULT
|
||||||
|
http_set_response_status_code(
|
||||||
_In_ IN_PROCESS_HANDLER* pInProcessHandler,
|
_In_ IN_PROCESS_HANDLER* pInProcessHandler,
|
||||||
_In_ USHORT statusCode,
|
_In_ USHORT statusCode,
|
||||||
_In_ PCSTR pszReason
|
_In_ PCSTR pszReason
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
pInProcessHandler->QueryHttpContext()->GetResponse()->SetStatus(statusCode, pszReason);
|
return pInProcessHandler->QueryHttpContext()->GetResponse()->SetStatus(statusCode, pszReason);
|
||||||
}
|
}
|
||||||
|
|
||||||
EXTERN_C __MIDL_DECLSPEC_DLLEXPORT
|
EXTERN_C __MIDL_DECLSPEC_DLLEXPORT
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConditionalFact]
|
[ConditionalFact]
|
||||||
public async Task ErrorCodeIsSetForExceoptionDuringRequest()
|
public async Task ErrorCodeIsSetForExceptionDuringRequest()
|
||||||
{
|
{
|
||||||
var response = await _fixture.Client.GetAsync("Throw");
|
var response = await _fixture.Client.GetAsync("Throw");
|
||||||
Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
|
Assert.Equal(HttpStatusCode.InternalServerError, response.StatusCode);
|
||||||
|
|
@ -50,7 +50,7 @@ namespace Microsoft.AspNetCore.Server.IISIntegration.FunctionalTests
|
||||||
}
|
}
|
||||||
|
|
||||||
[ConditionalTheory]
|
[ConditionalTheory]
|
||||||
[InlineData(1, "custom", "custom")]
|
[InlineData(200, "custom", "custom")]
|
||||||
[InlineData(500, "", "Internal Server Error")]
|
[InlineData(500, "", "Internal Server Error")]
|
||||||
[InlineData(999, "", "")]
|
[InlineData(999, "", "")]
|
||||||
public async Task CustomErrorCodeWorks(int code, string reason, string expectedReason)
|
public async Task CustomErrorCodeWorks(int code, string reason, string expectedReason)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue