30 lines
819 B
Kotlin
30 lines
819 B
Kotlin
package fr.dcproject.common.utils
|
|
|
|
import com.jayway.jsonpath.JsonPath
|
|
import com.jayway.jsonpath.PathNotFoundException
|
|
import org.apache.http.util.EntityUtils
|
|
import org.elasticsearch.client.Response
|
|
import org.slf4j.LoggerFactory
|
|
|
|
fun Response.contentToString(): String {
|
|
return EntityUtils.toString(this.entity)
|
|
}
|
|
|
|
fun Response.getField(jsonPath: String): Int? {
|
|
return try {
|
|
JsonPath.read(this.contentToString(), jsonPath)
|
|
} catch (e: PathNotFoundException) {
|
|
null
|
|
}
|
|
}
|
|
|
|
fun String.getJsonField(jsonPath: String): Int? {
|
|
return try {
|
|
JsonPath.read(this, jsonPath)
|
|
} catch (e: PathNotFoundException) {
|
|
LoggerFactory.getLogger("fr.dcproject.utils.getJsonField")
|
|
.warn("No value for Json path ${JsonPath.compile(jsonPath).path}")
|
|
null
|
|
}
|
|
}
|