/// <summary> /// This method will additionally add the message specified to the reason phrase of the error response. /// <see cref="System.Net.Http.HttpRequestMessageExtensions.CreateErrorResponse(System.Net.HttpStatusCode, System.String)"/> /// </summary> public static HttpResponseMessage CreateErrorResponse(HttpRequestMessage request, HttpStatusCode httpStatusCode, string message) { HttpResponseMessage response = request.CreateErrorResponse(httpStatusCode, message); // The ReasonPhrase may not contain new line characters. response.ReasonPhrase = StringUtils.RemoveNewLines(message); return(response); }
/// <summary> /// This method will additionally add the exception message to the reason phrase of the error response. /// <see cref="System.Net.Http.HttpRequestMessageExtensions.CreateErrorResponse(System.Net.HttpStatusCode, System.Exception)"/> /// </summary> public static HttpResponseMessage CreateErrorResponse(HttpRequestMessage request, HttpStatusCode httpStatusCode, Exception exception) { string exceptionMessage = (exception.Message == null ? "" : exception.Message.Trim()); HttpResponseMessage response = request.CreateErrorResponse(httpStatusCode, exception); // The ReasonPhrase may not contain new line characters. response.ReasonPhrase = StringUtils.RemoveNewLines(exceptionMessage); return(response); }
/// <summary> /// Creates an HttpResponseMessage asynchronously. /// </summary> /// <param name="cancellationToken">The token to monitor for cancellation requests.</param> /// <returns>A task that, when completed, contains the HttpResponseMessage.</returns> public Task <HttpResponseMessage> ExecuteAsync(CancellationToken cancellationToken) { HttpResponseMessage responseMessage = new HttpResponseMessage(HttpStatusCode.InternalServerError); responseMessage.Content = new StringContent(exceptionStackTrace); responseMessage.RequestMessage = requestMessage; // The ReasonPhrase may not contain new line characters. responseMessage.ReasonPhrase = StringUtils.RemoveNewLines(exceptionMessage); return(Task.FromResult(responseMessage)); }