Скалах Этаг получить не могу разобрать - PullRequest
0 голосов
/ 09 мая 2018

Используя scalaj.http 2.4 Я не могу получить правильный код для If-None-Match etag для этого простого вызова:

import scalaj.http.Http
object EtagTest extends App {
  val firstResponse = Http("https://api.github.com/users/octocat/orgs")
  // get correct etag ...
  val response = Http("https://api.github.com/users/octocat/orgs").header("If-None-Match", "\"98f0c1b396a4e5d54f4d5fe561d54b44\"").asString
  println(response.code)
}

Я ожидаю 304 Not Modified, но я получаю 200.

1 Ответ

0 голосов
/ 23 мая 2018

Я попробовал следующее, и это сработало для меня. Похоже, что ETag, который вы получаете с этой программой, не является ETag, который вы жестко запрограммировали в своей программе. Странно то, что когда я посылаю ему запрос cURL, возвращается ETag тот, который вы жестко закодировали.

import scalaj.http.Http

object ETagTest extends App {
  val firstResponse = Http("https://api.github.com/users/octocat/orgs").asString
  val response = Http("https://api.github.com/users/octocat/orgs").header("If-None-Match", firstResponse.header(key = "ETag").get).asString
  println(response.code)
  println(response.header(key = "ETag").get)
}

Вывод вышеуказанного:

304
"80b190627d4c87e9a37c34e20ea246a1"
...