private async Task WappUpContent(HttpContext context)
        {
            using (var ms = new MemoryStream())
            {
                var orgBodyStream = context.Response.Body;
                context.Response.Body = ms;

                using (var sr = new StreamReader(ms))
                {
                    ms.Seek(0, SeekOrigin.Begin);

                    object data = sr.ReadToEnd().FromJson <object>();
                    JsonResponseMessage resultData = new JsonResponseMessage
                    {
                        Code = context.Response.StatusCode,
                        Body = data.ToJson()
                    };
                    string toJson = JsonConvert.SerializeObject(resultData);
                    byte[] theBan = toJson.GetBytesOfUTF8();

                    ms.SetLength(0);
                    ms.Write(theBan);

                    ms.Seek(0, SeekOrigin.Begin);
                    await ms.CopyToAsync(orgBodyStream);

                    context.Response.Body = orgBodyStream;
                }
            }
        }
Beispiel #2
0
        public HttpResponseMessage GetTile(string layers, string level, int col, int row, string ext)
        {
            var images = GetTileImages(layers.Split(','), level, col, row);

            if (images.Count > 0)
            {
                var bytes = ImageMerger.Merge(images, ext);

                if (bytes != null)
                {
                    var contentType = GetMediaType(ext);
                    return(JsonResponseMessage.GetHttpResponseMessage(bytes, contentType, HttpStatusCode.OK));
                }
            }
            return(new HttpResponseMessage {
                StatusCode = HttpStatusCode.NotFound
            });
        }