summaryrefslogtreecommitdiffstats
path: root/sources/hv-collector-utils/src/main/kotlin/org/onap
diff options
context:
space:
mode:
authorIzabela Zawadzka <izabela.zawadzka@nokia.com>2019-03-15 09:43:56 +0100
committerIzabela Zawadzka <izabela.zawadzka@nokia.com>2019-03-15 11:06:12 +0100
commit189c70a48c24274fb7dd6cb910397a9a93233401 (patch)
treec2abe60130970f559ef997e8153e905d92166a93 /sources/hv-collector-utils/src/main/kotlin/org/onap
parent007480ce97edd553c093036634a2f7e6ea47ef1e (diff)
Use Netty HttpServer in XnfApiServer
Change-Id: I86e06bd540c961098ee11af99735a5b35ce760fd Issue-ID: DCAEGEN2-1325 Signed-off-by: Izabela Zawadzka <izabela.zawadzka@nokia.com>
Diffstat (limited to 'sources/hv-collector-utils/src/main/kotlin/org/onap')
-rw-r--r--sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/netty.kt7
-rw-r--r--sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/ratpack.kt68
2 files changed, 7 insertions, 68 deletions
diff --git a/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/netty.kt b/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/netty.kt
index 33e65e4d..cf338a70 100644
--- a/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/netty.kt
+++ b/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/netty.kt
@@ -19,6 +19,7 @@
*/
package org.onap.dcae.collectors.veshv.utils.http
+import arrow.core.Either
import arrow.effects.IO
import org.onap.dcae.collectors.veshv.utils.logging.Logger
import reactor.core.publisher.Mono
@@ -52,6 +53,12 @@ fun HttpServerResponse.sendAndHandleErrors(response: IO<Response>): NettyOutboun
}
)
+fun <A> HttpServerResponse.sendEitherErrorOrResponse(response: Either<A, Response>): NettyOutbound =
+ when (response) {
+ is Either.Left -> sendResponse(errorResponse(response.a.toString()))
+ is Either.Right -> sendAndHandleErrors(IO.just(response.b))
+ }
+
private fun HttpServerResponse.sendResponse(response: Response): NettyOutbound {
val respWithStatus = status(response.status.number)
val responseContent = response.content
diff --git a/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/ratpack.kt b/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/ratpack.kt
deleted file mode 100644
index 529804a3..00000000
--- a/sources/hv-collector-utils/src/main/kotlin/org/onap/dcae/collectors/veshv/utils/http/ratpack.kt
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * dcaegen2-collectors-veshv
- * ================================================================================
- * Copyright (C) 2018-2019 NOKIA
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.onap.dcae.collectors.veshv.utils.http
-
-import arrow.core.Either
-import arrow.effects.IO
-import org.onap.dcae.collectors.veshv.utils.logging.Logger
-import javax.json.Json
-
-/**
- * @author Piotr Jaszczyk <piotr.jaszczyk@nokia.com>
- * @since August 2018
- */
-
-private val logger = Logger("org.onap.dcae.collectors.veshv.utils.arrow.ratpack")
-
-
-fun <A> ratpack.http.Response.sendEitherErrorOrResponse(response: Either<A, Response>) {
- when (response) {
- is Either.Left -> send(errorResponse(response.a.toString()))
- is Either.Right -> sendAndHandleErrors(IO.just(response.b))
- }
-}
-
-fun ratpack.http.Response.sendAndHandleErrors(response: IO<Response>) {
- response.attempt().unsafeRunSync().fold(
- { err ->
- logger.withWarn { log("Error occurred. Sending .", err) }
- val message = err.message
- send(errorResponse(message))
- },
- ::send
- )
-}
-
-private fun errorResponse(message: String?): Response {
- return Response(
- HttpStatus.INTERNAL_SERVER_ERROR,
- Content(
- ContentType.JSON,
- Json.createObjectBuilder().add("error", message).build()))
-}
-
-fun ratpack.http.Response.send(response: Response) {
- val respWithStatus = status(response.status.number)
- response.content.apply {
- respWithStatus.send(
- type.value,
- serializer.run { value.show() })
- }
-}