Ejemplo n.º 1
0
        public async Task <int> SendAsync(FrameStream frames, CancellationToken token)
        {
            var len = (int)(frames.Length - frames.Position);
            await frames.CopyToAsync(_context.Response.OutputStream);

            _context.Response.OutputStream.Flush();
            _context.Response.Close();
            return(len);
        }
Ejemplo n.º 2
0
        public async Task <FrameStream> RequestAsync(string messageName, FrameStream frames, CancellationToken token)
        {
            var request = WebRequest.CreateHttp(new Uri(_remoteUri, messageName));

            request.Method      = "POST";
            request.ContentType = "avro/binary";

            var requestStream = await request.GetRequestStreamAsync();

            await frames.CopyToAsync(requestStream);

            var response = await request.GetResponseAsync();

            var result = new FrameStream();

            using (var resonseStream = response.GetResponseStream())
                await resonseStream.CopyToAsync(result, token);
            return(result);
        }