コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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));
            }