@@ -7,7 +7,6 @@ import no.nav.tilleggsstonader.libs.http.interceptor.BearerTokenExchangeClientIn
7
7
import no.nav.tilleggsstonader.libs.http.interceptor.BearerTokenOnBehalfOfClientInterceptor
8
8
import no.nav.tilleggsstonader.libs.http.interceptor.ConsumerIdClientInterceptor
9
9
import no.nav.tilleggsstonader.libs.http.interceptor.MdcValuesPropagatingClientInterceptor
10
- import org.springframework.beans.factory.annotation.Qualifier
11
10
import org.springframework.boot.web.client.RestTemplateBuilder
12
11
import org.springframework.context.annotation.Bean
13
12
import org.springframework.context.annotation.Configuration
@@ -20,15 +19,17 @@ import java.time.temporal.ChronoUnit
20
19
@Suppress(" SpringFacetCodeInspection" )
21
20
@Configuration
22
21
@Import(
23
- RestTemplateBuilder ::class ,
24
22
ConsumerIdClientInterceptor ::class ,
25
23
BearerTokenClientInterceptor ::class ,
26
24
BearerTokenClientCredentialsClientInterceptor ::class ,
27
25
BearerTokenOnBehalfOfClientInterceptor ::class ,
28
26
BearerTokenExchangeClientInterceptor ::class ,
29
27
MdcValuesPropagatingClientInterceptor ::class ,
30
28
)
31
- class RestTemplateConfiguration {
29
+ class RestTemplateConfiguration (
30
+ private val consumerIdClientInterceptor : ConsumerIdClientInterceptor ,
31
+ private val mdcValuesPropagatingClientInterceptor : MdcValuesPropagatingClientInterceptor ,
32
+ ) {
32
33
33
34
@Primary
34
35
@Bean
@@ -48,65 +49,66 @@ class RestTemplateConfiguration {
48
49
)
49
50
}
50
51
51
- @Bean(" basicRestTemplateBuilder " )
52
- fun basicRestTemplateBuilder (
52
+ @Bean(" utenAuth " )
53
+ fun restTemplateUtenAuth (
53
54
restTemplateBuilder : RestTemplateBuilder ,
54
55
consumerIdClientInterceptor : ConsumerIdClientInterceptor ,
55
56
mdcValuesPropagatingClientInterceptor : MdcValuesPropagatingClientInterceptor ,
56
- ): RestTemplateBuilder {
57
- return restTemplateBuilder
58
- .setConnectTimeout(Duration .of(2 , ChronoUnit .SECONDS ))
59
- .setReadTimeout(Duration .of(25 , ChronoUnit .SECONDS ))
60
- .additionalInterceptors(
61
- consumerIdClientInterceptor,
62
- mdcValuesPropagatingClientInterceptor,
63
- )
64
- }
65
-
66
- @Bean(" utenAuth" )
67
- fun restTemplateUtenAuth (
68
- @Qualifier(" basicRestTemplateBuilder" ) restTemplateBuilder : RestTemplateBuilder ,
69
57
): RestOperations {
70
- return restTemplateBuilder.build()
58
+ return restTemplateBuilder
59
+ .defaultBuilderConfig()
60
+ .build()
71
61
}
72
62
73
63
@Bean(" tokenExchange" )
74
64
fun restTemplate (
75
- @Qualifier( " basicRestTemplateBuilder " ) restTemplateBuilder : RestTemplateBuilder ,
65
+ restTemplateBuilder : RestTemplateBuilder ,
76
66
bearerTokenExchangeClientInterceptor : BearerTokenExchangeClientInterceptor ,
77
67
): RestOperations {
78
68
return restTemplateBuilder
69
+ .defaultBuilderConfig()
79
70
.interceptors(bearerTokenExchangeClientInterceptor)
80
71
.build()
81
72
}
82
73
83
74
@Bean(" azure" )
84
75
fun restTemplateJwtBearer (
85
- @Qualifier( " basicRestTemplateBuilder " ) restTemplateBuilder : RestTemplateBuilder ,
76
+ restTemplateBuilder : RestTemplateBuilder ,
86
77
bearerTokenClientInterceptor : BearerTokenClientInterceptor ,
87
78
): RestOperations {
88
79
return restTemplateBuilder
80
+ .defaultBuilderConfig()
89
81
.additionalInterceptors(bearerTokenClientInterceptor)
90
82
.build()
91
83
}
92
84
93
85
@Bean(" azureClientCredential" )
94
86
fun restTemplateClientCredentialBearer (
95
- @Qualifier( " basicRestTemplateBuilder " ) restTemplateBuilder : RestTemplateBuilder ,
87
+ restTemplateBuilder : RestTemplateBuilder ,
96
88
bearerTokenClientInterceptor : BearerTokenClientCredentialsClientInterceptor ,
97
89
): RestOperations {
98
90
return restTemplateBuilder
91
+ .defaultBuilderConfig()
99
92
.additionalInterceptors(bearerTokenClientInterceptor)
100
93
.build()
101
94
}
102
95
103
96
@Bean(" azureOnBehalfOf" )
104
97
fun restTemplateOnBehalfOfBearer (
105
- @Qualifier( " basicRestTemplateBuilder " ) restTemplateBuilder : RestTemplateBuilder ,
98
+ restTemplateBuilder : RestTemplateBuilder ,
106
99
bearerTokenClientInterceptor : BearerTokenOnBehalfOfClientInterceptor ,
107
100
): RestOperations {
108
101
return restTemplateBuilder
102
+ .defaultBuilderConfig()
109
103
.additionalInterceptors(bearerTokenClientInterceptor)
110
104
.build()
111
105
}
106
+
107
+ private fun RestTemplateBuilder.defaultBuilderConfig () = this
108
+ .setConnectTimeout(Duration .of(2 , ChronoUnit .SECONDS ))
109
+ .setReadTimeout(Duration .of(25 , ChronoUnit .SECONDS ))
110
+ .additionalInterceptors(
111
+ consumerIdClientInterceptor,
112
+ mdcValuesPropagatingClientInterceptor,
113
+ )
112
114
}
0 commit comments