private async Task <HttpResponseModel> Send(HttpRequestModel request) { using (var reqMsg = HttpRequestMessageBuilder.BuildHttpRequestMessage(request)) { var cancellationToken = GetCancellationToken(request.ResponseTimeoutOverride); var transactionId = GetNextTransactionId(); var sentAtUtc = DateTimeOffset.UtcNow; var respMsg = await SendNow(reqMsg, cancellationToken); var resp = HttpResponseBuilder .BuildHttpResponseModel( transactionId, sentAtUtc, DateTimeOffset.UtcNow, request.ShouldBufferResponseBody, respMsg); return(await resp); } }