Exemplo n.º 1
0
        private IHttpResponse VisitWithBody(IBodyRestResponse response, HttpRequest restReq, IDictionary <string, string> extraHeaders)
        {
            extraHeaders = extraHeaders ?? new Dictionary <string, string>();

            string bodyString = _bodySerializer.ToBody(response.BodyData, restReq);

            int bodyLength = bodyString == null ? 0 : Encoding.UTF8.GetBytes(bodyString).Length;

            var rawHttpResponseBuilder = new StringBuilder();

            rawHttpResponseBuilder.Append(CreateDefaultResponse(response));
            rawHttpResponseBuilder.AppendFormat("Content-Length: {0}\r\n", bodyLength);
            rawHttpResponseBuilder.AppendFormat("Content-Type: {0}\r\n", HttpCodesTranslator.Default.GetMediaType(restReq.ResponseContentType));

            foreach (var extraHeader in extraHeaders)
            {
                rawHttpResponseBuilder.AppendFormat($"{extraHeader.Key}: {extraHeader.Value}\r\n");
            }

            rawHttpResponseBuilder.Append(CreateHttpNewLine());
            rawHttpResponseBuilder.Append(bodyString);

            return(CreateHttpResponse(rawHttpResponseBuilder));
        }
Exemplo n.º 2
0
 private IHttpResponse VisitWithBody(IBodyRestResponse response, HttpRequest restReq)
 {
     return(VisitWithBody(response, restReq, null));
 }