import org.springframework.http.HttpHeaders
import org.springframework.http.MediaType
-class TokenAuthRestClientService(private val restClientProperties:
- TokenAuthRestClientProperties) :
- BlueprintWebClientService {
+open class TokenAuthRestClientService(
+ private val restClientProperties:
+ TokenAuthRestClientProperties
+) :
+ BaseBlueprintWebClientService<TokenAuthRestClientProperties>() {
+
+ override fun getRestClientProperties(): TokenAuthRestClientProperties {
+ return restClientProperties
+ }
override fun defaultHeaders(): Map<String, String> {
-
return mapOf(
- HttpHeaders.CONTENT_TYPE to MediaType.APPLICATION_JSON_VALUE,
- HttpHeaders.ACCEPT to MediaType.APPLICATION_JSON_VALUE,
- HttpHeaders.AUTHORIZATION to restClientProperties.token!!)
+ HttpHeaders.CONTENT_TYPE to MediaType.APPLICATION_JSON_VALUE,
+ HttpHeaders.ACCEPT to MediaType.APPLICATION_JSON_VALUE,
+ HttpHeaders.AUTHORIZATION to restClientProperties.token!!
+ )
}
override fun convertToBasicHeaders(headers: Map<String, String>):
- Array<BasicHeader> {
-
- val customHeaders: MutableMap<String, String> = headers.toMutableMap()
- if (!headers.containsKey(HttpHeaders.AUTHORIZATION)) {
- customHeaders[HttpHeaders.AUTHORIZATION] = restClientProperties.token!!
+ Array<BasicHeader> {
+ val customHeaders: MutableMap<String, String> = headers.toMutableMap()
+ // inject additionalHeaders
+ customHeaders.putAll(verifyAdditionalHeaders(restClientProperties))
+ if (!headers.containsKey(HttpHeaders.AUTHORIZATION)) {
+ customHeaders[HttpHeaders.AUTHORIZATION] = restClientProperties.token!!
+ }
+ return super.convertToBasicHeaders(customHeaders)
}
- return super.convertToBasicHeaders(customHeaders)
- }
-
- override fun host(uri: String): String {
- return restClientProperties.url + uri
- }
}