< Summary

Class:Microsoft.Azure.Batch.ClientRequestIdProvider
Assembly:Microsoft.Azure.Batch
File(s):C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\ClientRequestIdProvider.cs
Covered lines:5
Uncovered lines:3
Coverable lines:8
Total lines:41
Line coverage:62.5% (5 of 8)
Covered branches:0
Total branches:2
Branch coverage:0% (0 of 2)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
get_GenerateClientRequestIdFunc()-100%100%
.ctor(...)-100%100%
SetClientRequestIdInterceptor(...)-0%0%

File(s)

C:\Git\azure-sdk-for-net\sdk\batch\Microsoft.Azure.Batch\src\ClientRequestIdProvider.cs

#LineLine coverage
 1// Copyright (c) Microsoft Corporation. All rights reserved.
 2// Licensed under the MIT License. See License.txt in the project root for license information.
 3
 4namespace Microsoft.Azure.Batch
 5{
 6    using System;
 7    using Protocol;
 8    using Protocol.Models;
 9
 10    /// <summary>
 11    /// Interceptor which contains a function used to generate a client request id to set as <see cref="IOptions.ClientR
 12    /// If there are multiple instances of this then the last set wins.
 13    /// </summary>
 14    public class ClientRequestIdProvider : Protocol.RequestInterceptor
 15    {
 716        internal /*readonly*/ Func<IBatchRequest, Guid> GenerateClientRequestIdFunc { get; private set; }
 17
 18        /// <summary>
 19        /// Initializes a new <see cref="ClientRequestIdProvider"/> for use in setting the client request id of a reques
 20        /// </summary>
 21        /// <param name="generateClientRequestIdFunc">
 22        /// A function used to generate the client request id.  This function may be called more than once for any
 23        /// given operation due to retries.
 24        /// </param>
 125        public ClientRequestIdProvider(Func<IBatchRequest, Guid> generateClientRequestIdFunc)
 26        {
 127            this.GenerateClientRequestIdFunc = generateClientRequestIdFunc;
 28
 129            base.ModificationInterceptHandler = SetClientRequestIdInterceptor;
 130        }
 31
 32        private void SetClientRequestIdInterceptor(Protocol.IBatchRequest request)
 33        {
 34            // if there is a factory, call it
 035            if (null != this.GenerateClientRequestIdFunc)
 36            {
 037                request.ClientRequestIdProvider = this;
 38            }
 039        }
 40    }
 41}