public async Task Should_create_a_host_that_responds_to_requests() { using (var client = new HttpClient()) { var request = new Request { Value = "Hello" }; var envelope = new HttpMessageEnvelope(request, TypeMetadataCache <Request> .MessageTypeNames); envelope.RequestId = NewId.NextGuid().ToString(); envelope.DestinationAddress = HostAddress.ToString(); envelope.ResponseAddress = new Uri("reply://localhost:8080/").ToString(); var messageBody = JsonConvert.SerializeObject(envelope, JsonMessageSerializer.SerializerSettings); for (var i = 0; i < 5; i++) { var content = new StringContent(messageBody, Encoding.UTF8, "application/vnd.masstransit+json"); var timer = Stopwatch.StartNew(); string response; using (var result = await client.PostAsync(HostAddress, content)) { response = await result.Content.ReadAsStringAsync(); } timer.Stop(); await Console.Out.WriteLineAsync($"Request complete: {timer.ElapsedMilliseconds}ms"); } } }
public async Task Should_create_a_host_that_responds_to_requests() { _hostAddress = new Uri("http://localhost:8080"); var busControl = Bus.Factory.CreateUsingHttp(cfg => { var mainHost = cfg.Host(_hostAddress, h => { h.Method = HttpMethod.Post; }); cfg.ReceiveEndpoint(mainHost, "", ep => { ep.Consumer <HttpRequestConsumer>(); }); }); await busControl.StartAsync(TestCancellationToken); try { using (var client = new HttpClient()) { var request = new Request { Value = "Hello" }; var envelope = new HttpMessageEnvelope(request, TypeMetadataCache <Request> .MessageTypeNames); envelope.RequestId = NewId.NextGuid().ToString(); envelope.DestinationAddress = _hostAddress.ToString(); envelope.ResponseAddress = new Uri("reply://localhost:8080/").ToString(); var messageBody = JsonConvert.SerializeObject(envelope, JsonMessageSerializer.SerializerSettings); for (var i = 0; i < 5; i++) { var content = new StringContent(messageBody, Encoding.UTF8, "application/vnd.masstransit+json"); var timer = Stopwatch.StartNew(); string response; using (var result = await client.PostAsync(_hostAddress, content)) { response = await result.Content.ReadAsStringAsync(); } timer.Stop(); await Console.Out.WriteLineAsync($"Request complete: {timer.ElapsedMilliseconds}ms"); } } } finally { await busControl.StopAsync().WithTimeout(TimeSpan.FromSeconds(30)); } }
public async Task Should_create_a_host_that_responds_to_requests() { using (var client = new HttpClient()) { var request = new Request { Value = "Hello" }; var envelope = new HttpMessageEnvelope(request, TypeMetadataCache <Request> .MessageTypeNames); envelope.RequestId = NewId.NextGuid().ToString(); envelope.DestinationAddress = HostAddress.ToString(); envelope.ResponseAddress = new Uri("reply://localhost:8080/").ToString(); var messageBody = JsonConvert.SerializeObject(envelope, JsonMessageSerializer.SerializerSettings); for (var i = 0; i < 5; i++) { // var content = new StringContent(messageBody, Encoding.UTF8, "application/vnd.masstransit+json"); var content = new ByteArrayContent(Encoding.UTF8.GetBytes(messageBody)); content.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.masstransit+json"); var timer = Stopwatch.StartNew(); var message = new HttpRequestMessage(HttpMethod.Post, HostAddress); message.Content = content; message.Headers.Add(Clients.HttpHeaders.RequestId, envelope.RequestId); string response; using (var result = await client.SendAsync(message)) { result.EnsureSuccessStatusCode(); response = await result.Content.ReadAsStringAsync(); } timer.Stop(); await Console.Out.WriteLineAsync($"Request complete: {timer.ElapsedMilliseconds}ms"); } } }