1
+ // Copyright (c) Microsoft Corporation.
2
+ // All rights reserved.
3
+ //
4
+ // This code is licensed under the MIT License.
5
+ //
6
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ // of this software and associated documentation files(the "Software"), to deal
8
+ // in the Software without restriction, including without limitation the rights
9
+ // to use, copy, modify, merge, publish, distribute, sublicense, and / or sell
10
+ // copies of the Software, and to permit persons to whom the Software is
11
+ // furnished to do so, subject to the following conditions :
12
+ //
13
+ // The above copyright notice and this permission notice shall be included in
14
+ // all copies or substantial portions of the Software.
15
+ //
16
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22
+ // THE SOFTWARE.
23
+ package com.microsoft.identity.common.java.logging
24
+
25
+ import com.microsoft.identity.common.java.AuthenticationConstants
26
+ import com.microsoft.identity.common.java.AuthenticationConstants.SdkPlatformFields.PRODUCT
27
+
28
+ /* *
29
+ * Extension function to set up the [DiagnosticContext] with correlation ID, SDK type, and SDK version.
30
+ * @return An [AutoCloseable] that clears the context when closed.
31
+ */
32
+ fun DiagnosticContext.withInitializedContext (
33
+ correlationId : String ,
34
+ sdkType : String ,
35
+ sdkVersion : String
36
+ ): AutoCloseable {
37
+ val requestContext = RequestContext ().apply {
38
+ put(DiagnosticContext .CORRELATION_ID , correlationId)
39
+ put(PRODUCT , sdkType)
40
+ put(AuthenticationConstants .SdkPlatformFields .VERSION , sdkVersion)
41
+ }
42
+ setRequestContext(requestContext)
43
+ return AutoCloseable {
44
+ clear()
45
+ }
46
+ }
0 commit comments