def requestFor()

in src/main/scala/ophan/google/indexing/observatory/RedirectFollower.scala [29:54]


  def requestFor(uri: URI): Request =
    new Request.Builder()
      .url(uri.toURL)
      .head()
      .header("User-Agent", "curl/7.54")
      .build();


  override def fetchResponseFor(uri: URI)(implicit ec: ExecutionContext): Future[HttpResponseSummary] = {
    Future {
      blocking {
        httpClient.newCall(requestFor(uri)).execute()
      }
    }.map {
      response =>
        val statusCode = response.code()
        val responseOk = statusCode == 200
        if (!responseOk) {
          logger.warn(Map(
            "redirect.resolution.uri" -> uri.toString,
            "redirect.resolution.statusCode" -> statusCode
          ), s"Bad status code $statusCode (not a redirect!) while trying to resolve '$uri'")
        }
        HttpResponseSummary(statusCode, response.headers.location)
      }
    }