Beispiel #1
0
        /// <inheritdoc/>
        protected override async Task <HttpResponseMessage> SendAsync(HttpRequestMessage request,
                                                                      CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            HttpResponseMessage response = null;
            string method = request.Method.Method;

            using (ClientRequestActivity activity = ClientRequestActivity.Create(method, request.RequestUri))
            {
                request.Headers.Add(MessageHeaderKeys.ActivityId, activity.Id.ToString("N"));
                response = await base.SendAsync(request, cancellationToken).ConfigureAwait(false);

                // todo: user id resolver
                activity.SetResponse((int)response.StatusCode, Guid.Empty);
            }


            return(response);
        }