update Device Registry
- add catch WebClientResponseException to registerDevice in DeviceRegistryService - add handle BAD_REQUEST to WebClient deviceRegistryCreateDevice in WebClientCalls.kt
This commit is contained in:
@@ -6,11 +6,13 @@ import io.micrometer.core.instrument.MeterRegistry
|
|||||||
import ltd.hlaeja.library.deviceRegistry.Device
|
import ltd.hlaeja.library.deviceRegistry.Device
|
||||||
import ltd.hlaeja.property.DeviceRegistryProperty
|
import ltd.hlaeja.property.DeviceRegistryProperty
|
||||||
import ltd.hlaeja.util.deviceRegistryCreateDevice
|
import ltd.hlaeja.util.deviceRegistryCreateDevice
|
||||||
|
import org.springframework.http.HttpStatus.INTERNAL_SERVER_ERROR
|
||||||
import org.springframework.http.HttpStatus.SERVICE_UNAVAILABLE
|
import org.springframework.http.HttpStatus.SERVICE_UNAVAILABLE
|
||||||
import org.springframework.stereotype.Service
|
import org.springframework.stereotype.Service
|
||||||
import org.springframework.web.ErrorResponseException
|
import org.springframework.web.ErrorResponseException
|
||||||
import org.springframework.web.reactive.function.client.WebClient
|
import org.springframework.web.reactive.function.client.WebClient
|
||||||
import org.springframework.web.reactive.function.client.WebClientRequestException
|
import org.springframework.web.reactive.function.client.WebClientRequestException
|
||||||
|
import org.springframework.web.reactive.function.client.WebClientResponseException
|
||||||
import org.springframework.web.server.ResponseStatusException
|
import org.springframework.web.server.ResponseStatusException
|
||||||
|
|
||||||
private val log = KotlinLogging.logger {}
|
private val log = KotlinLogging.logger {}
|
||||||
@@ -42,5 +44,9 @@ class DeviceRegistryService(
|
|||||||
registerDeviceFailure.increment()
|
registerDeviceFailure.increment()
|
||||||
log.error(e) { "Error device registry" }
|
log.error(e) { "Error device registry" }
|
||||||
throw ResponseStatusException(SERVICE_UNAVAILABLE)
|
throw ResponseStatusException(SERVICE_UNAVAILABLE)
|
||||||
|
} catch (e: WebClientResponseException) {
|
||||||
|
registerDeviceFailure.increment()
|
||||||
|
log.error(e) { "Error device registry" }
|
||||||
|
throw ResponseStatusException(INTERNAL_SERVER_ERROR)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import ltd.hlaeja.library.accountRegistry.Authentication
|
|||||||
import ltd.hlaeja.library.deviceRegistry.Device
|
import ltd.hlaeja.library.deviceRegistry.Device
|
||||||
import ltd.hlaeja.property.AccountRegistryProperty
|
import ltd.hlaeja.property.AccountRegistryProperty
|
||||||
import ltd.hlaeja.property.DeviceRegistryProperty
|
import ltd.hlaeja.property.DeviceRegistryProperty
|
||||||
|
import org.springframework.http.HttpStatus.BAD_REQUEST
|
||||||
import org.springframework.http.HttpStatus.LOCKED
|
import org.springframework.http.HttpStatus.LOCKED
|
||||||
import org.springframework.http.HttpStatus.NOT_FOUND
|
import org.springframework.http.HttpStatus.NOT_FOUND
|
||||||
import org.springframework.http.HttpStatus.REQUEST_TIMEOUT
|
import org.springframework.http.HttpStatus.REQUEST_TIMEOUT
|
||||||
@@ -19,6 +20,7 @@ suspend fun WebClient.deviceRegistryCreateDevice(
|
|||||||
.uri("${property.url}/device".also(::logCall))
|
.uri("${property.url}/device".also(::logCall))
|
||||||
.bodyValue(request)
|
.bodyValue(request)
|
||||||
.retrieve()
|
.retrieve()
|
||||||
|
.onStatus(BAD_REQUEST::equals) { throw ResponseStatusException(BAD_REQUEST) }
|
||||||
.awaitBodyOrNull<Device.Response>() ?: throw ResponseStatusException(REQUEST_TIMEOUT)
|
.awaitBodyOrNull<Device.Response>() ?: throw ResponseStatusException(REQUEST_TIMEOUT)
|
||||||
|
|
||||||
suspend fun WebClient.accountRegistryAuthenticate(
|
suspend fun WebClient.accountRegistryAuthenticate(
|
||||||
|
|||||||
Reference in New Issue
Block a user