コード例 #1
0
        private string FormatHeaders(IEnumerable <HttpHeader> headers)
        {
            var stringBuilder = new StringBuilder();

            foreach (HttpHeader header in headers)
            {
                stringBuilder.Append(header.Name);
                stringBuilder.Append(':');
                string newValue = _sanitizer.SanitizeHeader(header.Name, header.Value);
                stringBuilder.AppendLine(newValue);
            }
            return(stringBuilder.ToString());
        }
コード例 #2
0
        public string CreateRequestFailedMessageWithContent(Response response, string?message, string?content, string?errorCode, IDictionary <string, string>?additionalInfo)
        {
            StringBuilder messageBuilder = new StringBuilder()
                                           .AppendLine(message ?? DefaultMessage)
                                           .Append("Status: ")
                                           .Append(response.Status.ToString(CultureInfo.InvariantCulture))
                                           .Append(" (")
                                           .Append(response.ReasonPhrase)
                                           .AppendLine(")");

            if (!string.IsNullOrWhiteSpace(errorCode))
            {
                messageBuilder.Append("ErrorCode: ")
                .Append(errorCode)
                .AppendLine();
            }

            if (additionalInfo != null && additionalInfo.Count > 0)
            {
                messageBuilder
                .AppendLine()
                .AppendLine("Additional Information:");
                foreach (KeyValuePair <string, string> info in additionalInfo)
                {
                    messageBuilder
                    .Append(info.Key)
                    .Append(": ")
                    .AppendLine(info.Value);
                }
            }

            if (content != null)
            {
                messageBuilder
                .AppendLine()
                .AppendLine("Content:")
                .AppendLine(content);
            }

            messageBuilder
            .AppendLine()
            .AppendLine("Headers:");

            foreach (HttpHeader responseHeader in response.Headers)
            {
                string headerValue = _sanitizer.SanitizeHeader(responseHeader.Name, responseHeader.Value);
                messageBuilder.AppendLine($"{responseHeader.Name}: {headerValue}");
            }

            return(messageBuilder.ToString());
        }