Как распечатать полный HTTP-запрос и ответ, отправленный с помощью метода Http () в scalaj-http? - PullRequest
1 голос
/ 03 июля 2019

Я хочу записать полный отправленный HTTP-запрос и полученный ответ с помощью метода Http () в scalaj-http. Как это сделать.

Мой код метода Http () выглядит так:

Http(url)
      .method("GET")
      .params(queryParameters )
      .option(HttpOptions.allowUnsafeSSL)
      .timeout(connTimeoutMs = HttpConnectionProperties.httpConTimeout, readTimeoutMs = HttpConnectionProperties.httpReadTimeout)
      .asString

Я хочу записать полный HTTP-запрос и ответ, отправленные за сцену.

1 Ответ

0 голосов
/ 03 июля 2019

Похоже, что-то не из коробки в соответствии с Печать 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")

но может быть шумно .

...