Ejemplo n.º 1
0
        public async Task <HttpResponseMessage> Request(IAbstractMessage message)
        {
            var binary  = Binary(message);
            var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/messages")
            {
                Headers = { { HeaderNames.MessageName, message.GetType().Name }, { HeaderNames.CorrelationId, CorrelationId } },
                Content = new ByteArrayContent(binary)
            };

            var response = await Client.SendAsync(request);

            response.Should().BeEquivalentTo(new { RequestMessage = request });
            response.Headers.AsEnumerable().Should().BeEquivalentTo(new Dictionary <string, IEnumerable <string> >
            {
                { HeaderNames.MessageName, new[] { message.GetType().Name } }, { HeaderNames.CorrelationId, new[] { CorrelationId } }
            });

            return(response);
        }
Ejemplo n.º 2
0
        public async Task <TResponse?> RequestObject <TResponse>(IAbstractMessage message)
        {
            var binary  = Binary(message);
            var request = new HttpRequestMessage(HttpMethod.Post, "http://localhost/messages")
            {
                Headers = { { HeaderNames.MessageName, message.GetType().Name }, { HeaderNames.CorrelationId, CorrelationId } },
                Content = new ByteArrayContent(binary)
            };

            var response = await Client.SendAsync(request);

            response.Should().BeEquivalentTo(new HttpResponseMessage
            {
                StatusCode     = HttpStatusCode.OK,
                RequestMessage = request,
                Headers        = { { HeaderNames.MessageName, message.GetType().Name }, { HeaderNames.CorrelationId, CorrelationId } }
            });

            return(await ReadObject <TResponse>(response));
        }
Ejemplo n.º 3
0
 private byte[] Binary(IAbstractMessage message) => JsonSerializer.SerializeToUtf8Bytes(message, Options);