Hi,
I am trying to return an 404 HTTP Code in a service in case something is missing:
if (belegId == null)
{
throw HttpError.NotFound($"Unkown sale number \"{request.SaleNumber}\"");
}
But unlike in other ServiceStack solutions this leads to the following errer in the console.
fail: ServiceStack.ServiceStackHost[0]
Unkown sale number "dx"
ServiceStack.HttpError: Unkown sale number "dx"
at Mauve.Atida.API.ServiceInterface.PrescriptionsService.Post(MarkPrescriptionRequest request) in C:\Devel\Mauve.Atida.API\Mauve.Atida.API.ServiceInterface\PrescriptionsService.cs:line 58
at ServiceStack.Host.ServiceRunner`1.ExecuteAsync(IRequest req, Object instance, TRequest requestDto) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/Host/ServiceRunner.cs:line 131
fail: ServiceStack.ServiceStackHost[0]
Object reference not set to an instance of an object.
System.NullReferenceException: Object reference not set to an instance of an object.
at ServiceStack.HttpRequestExtensions.CanReadRequestBody(IRequest req) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/HttpRequestExtensions.cs:line 1145
at ServiceStack.Host.InMemoryRollingRequestLogger.CreateEntry(IRequest request, Object requestDto, Object response, TimeSpan requestDuration, Type requestType)
at ServiceStack.CsvRequestLogger.Log(IRequest request, Object requestDto, Object response, TimeSpan requestDuration) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/CsvRequestLogger.cs:line 150
at ServiceStack.HttpExtensions.EndHttpHandlerRequestAsync(IResponse httpRes, Boolean skipHeaders, Boolean skipClose, Func`2 afterHeaders) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/HttpExtensions.cs:line 131
at ServiceStack.HttpResponseExtensionsInternal.WriteToResponse(IResponse response, Object result, StreamSerializerDelegateAsync defaultAction, IRequest request, Byte[] bodyPrefix, Byte[] bodySuffix, CancellationToken token) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/HttpResponseExtensionsInternal.cs:line 389
at ServiceStack.Host.Handlers.ServiceStackHandlerBase.HandleResponseNext(IRequest httpReq, IResponse httpRes, Object response) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/Host/Handlers/ServiceStackHandlerBase.cs:line 136
at ServiceStack.Host.Handlers.ServiceStackHandlerBase.HandleResponse(IRequest httpReq, IResponse httpRes, Object response) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/Host/Handlers/ServiceStackHandlerBase.cs:line 107
at ServiceStack.Host.Handlers.GenericHandler.ProcessRequestAsync(IRequest httpReq, IResponse httpRes, String operationName) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/Host/Handlers/GenericHandler.cs:line 66
info: ServiceStack.Host.Handlers.HttpAsyncTaskHandler[0]
Failed to write error to response: {0}
System.NullReferenceException: Object reference not set to an instance of an object.
at ServiceStack.HttpRequestExtensions.CanReadRequestBody(IRequest req) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/HttpRequestExtensions.cs:line 1145
at ServiceStack.Host.InMemoryRollingRequestLogger.CreateEntry(IRequest request, Object requestDto, Object response, TimeSpan requestDuration, Type requestType)
at ServiceStack.CsvRequestLogger.Log(IRequest request, Object requestDto, Object response, TimeSpan requestDuration) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/CsvRequestLogger.cs:line 150
at ServiceStack.HttpExtensions.EndHttpHandlerRequest(IResponse httpRes, Boolean skipHeaders, Boolean skipClose, Action`1 afterHeaders) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/HttpExtensions.cs:line 104
at ServiceStack.HttpResponseExtensionsInternal.WriteErrorToResponse(IResponse httpRes, IRequest httpReq, String contentType, String operationName, String errorMessage, Exception ex, Int32 statusCode) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/HttpResponseExtensionsInternal.cs:line 541
at ServiceStack.HostContext.RaiseAndHandleException(IRequest httpReq, IResponse httpRes, String operationName, Exception ex) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/HostContext.cs:line 266
at ServiceStack.Host.Handlers.HttpAsyncTaskHandler.HandleException(IRequest httpReq, IResponse httpRes, String operationName, Exception ex) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/Host/Handlers/HttpAsyncTaskHandler.cs:line 180
Is there a better way to return HTTP Codes?
Greatings
Andre