Как распечатать полный HTTP-запрос и ответ, отправленный с помощью метода Http() в scalaj-http?
Я хочу записать полный отправленный HTTP-запрос и полученный ответ с помощью метода Http() в scalaj-http. Как это сделать.
Мой код метода Http() выглядит так:
Http(url)
.method("GET")
.params(queryParameters )
.option(HttpOptions.allowUnsafeSSL)
.timeout(connTimeoutMs = HttpConnectionProperties.httpConTimeout, readTimeoutMs = HttpConnectionProperties.httpReadTimeout)
.asString
Я хочу записать полный HTTP-запрос и ответ, отправленные за сцену.
1 ответ
Похоже, что нет ничего из коробки в соответствии с печатью HttpRequests? # 93
HttpRequest не является точным аналогом HTTP-запроса, отправляемого по сети, это просто оболочка для некоторого состояния клиента. В настоящее время нет способа распечатать именно то, что отправлено по проводу, как делает curl
Мы могли бы создать служебную функцию-оболочку, которая регистрируется как побочный эффект
def httpWithLogging(...) = {
val request =
Http(url)
.method("GET")
.params(queryParameters )
.option(HttpOptions.allowUnsafeSSL)
.timeout(connTimeoutMs = HttpConnectionProperties.httpConTimeout,
readTimeoutMs = HttpConnectionProperties.httpReadTimeout)
val response = request.asString
println(request)
println(response)
response.asString
}
Также мы могли бы включить детальную регистрацию проводов с
System.setProperty("javax.net.debug","all")
но может быть шумно