package pl.touk.mockserver.client import groovy.json.JsonSlurper import groovy.transform.CompileStatic import groovy.transform.TypeChecked import groovy.util.slurpersupport.GPathResult import org.apache.http.HttpEntity import org.apache.http.client.methods.CloseableHttpResponse import org.apache.http.util.EntityUtils @CompileStatic @TypeChecked class Util { static GPathResult extractXmlResponse(CloseableHttpResponse response) { HttpEntity entity = response.entity GPathResult xml = new XmlSlurper().parseText(EntityUtils.toString(entity)) EntityUtils.consumeQuietly(entity) return xml } static String soap(String request) { return """<?xml version='1.0' encoding='UTF-8'?> <soap-env:Envelope xmlns:soap-env='http://schemas.xmlsoap.org/soap/envelope/' xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"> <soap-env:Body>$request</soap-env:Body> </soap-env:Envelope>""" } static Object extractJsonResponse(CloseableHttpResponse response) { HttpEntity entity = response.entity Object json = new JsonSlurper().parseText(EntityUtils.toString(entity)) EntityUtils.consumeQuietly(entity) return json } static void consumeResponse(CloseableHttpResponse response) { EntityUtils.consumeQuietly(response.entity) } }