From ba5934e3e18070f1a5b3774d96ccec9183bbb7af Mon Sep 17 00:00:00 2001 From: Clinton Alexander <clinton.alexander@r3cev.com> Date: Mon, 19 Dec 2016 14:53:08 +0000 Subject: [PATCH] Object mapper for http utils is now created once instead of per request. --- .../src/main/kotlin/net/corda/testing/http/HttpUtils.kt | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/test-utils/src/main/kotlin/net/corda/testing/http/HttpUtils.kt b/test-utils/src/main/kotlin/net/corda/testing/http/HttpUtils.kt index 6125844465..bd20453c76 100644 --- a/test-utils/src/main/kotlin/net/corda/testing/http/HttpUtils.kt +++ b/test-utils/src/main/kotlin/net/corda/testing/http/HttpUtils.kt @@ -18,6 +18,9 @@ object HttpUtils { .connectTimeout(5, TimeUnit.SECONDS) .readTimeout(60, TimeUnit.SECONDS).build() } + val defaultMapper: ObjectMapper by lazy { + ObjectMapper().registerModule(JsonSupport.createJavaTimeModule()).registerModule(KotlinModule()) + } fun putJson(url: URL, data: String) : Boolean { val body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), data) @@ -32,7 +35,7 @@ object HttpUtils { inline fun<reified T: Any> getJson(url: URL, params: Map<String, String> = mapOf()) : T { val paramString = if(params.isEmpty()) "" else "?" + params.map { "${it.key}=${it.value}" }.joinToString("&") val parameterisedUrl = URL(url.toExternalForm() + paramString) - return createDefaultMapper().readValue(parameterisedUrl, T::class.java) + return defaultMapper.readValue(parameterisedUrl, T::class.java) } private fun makeRequest(request: Request): Boolean { @@ -44,8 +47,4 @@ object HttpUtils { return response.isSuccessful } - - fun createDefaultMapper(): ObjectMapper { - return ObjectMapper().registerModule(JsonSupport.createJavaTimeModule()).registerModule(KotlinModule()) - } }