Example #1
0
        private static ModuleHttpResponse BuildResponseMessage(MemoryStream responseStream, HttpResponseFeature responseFeature)
        {
            var response = new ModuleHttpResponse
            {
                StatusCode   = responseFeature.StatusCode,
                ReasonPhrase = responseFeature.ReasonPhrase,
                Body         = responseStream.ToArray(),
                Headers      = new Dictionary <string, string[]>()
            };

            foreach (var entry in responseFeature.Headers)
            {
                response.Headers.Add(entry.Key, entry.Value.ToArray());
            }

            return(response);
        }
Example #2
0
        private static async Task <IHttpResponseFeature> UnpackResponseMessage(HttpContext context, ModuleHttpResponse responseMessage)
        {
            var responseFeature = GetResponseFeature(context);

            responseFeature.StatusCode   = responseMessage.StatusCode;
            responseFeature.ReasonPhrase = responseMessage.ReasonPhrase;

            responseFeature.Headers.Clear();

            foreach (var header in responseMessage.Headers)
            {
                responseFeature.Headers.Add(header.Key, new StringValues(header.Value));
            }

            if (responseMessage.Body.Length > 0)
            {
                await responseFeature.Body.WriteAsync(responseMessage.Body, 0, responseMessage.Body.Length);
            }

            return(responseFeature);
        }