Uploaded image for project: 'HttpComponents HttpClient'
  1. HttpComponents HttpClient
  2. HTTPCLIENT-2061

Accept-Encoding lost on redirect

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 5.0
    • 5.0.1
    • HttpClient (classic)
    • None

    Description

      Make an HTTP request that is redirected. The HTTP headers of the redirect request does not include an `Accept-Encoding` header.

      import okhttp3.mockwebserver.MockResponse
      import okhttp3.mockwebserver.MockWebServer
      import org.apache.hc.client5.http.classic.methods.HttpGet
      import org.apache.hc.client5.http.impl.classic.HttpClients
      import org.assertj.core.api.Assertions.assertThat
      import org.junit.After
      import org.junit.Rule
      import org.junit.Test
      
      class ApacheHttpTest {
        @JvmField @Rule val server = MockWebServer()
      
        private val httpClient = HttpClients.createDefault()
      
        @After fun tearDown() {
          httpClient.close()
        }
      
        @Test fun redirect() {
          server.enqueue(MockResponse()
              .setResponseCode(301)
              .addHeader("Location", "/a"))
      
          server.enqueue(MockResponse())
      
          val request = HttpGet(server.url("/").toUri())
      
          httpClient.execute(request).use { response ->
            assertThat(response.code).isEqualTo(200)
          }
      
          val recordedRequest1 = server.takeRequest()
          assertThat(recordedRequest1.getHeader("Accept-Encoding")).isEqualTo("gzip, x-gzip, deflate")
      
          val recordedRequest2 = server.takeRequest()
          assertThat(recordedRequest2.getHeader("Accept-Encoding")).isEqualTo("gzip, x-gzip, deflate")
        }
      }

      Attachments

        Activity

          People

            Unassigned Unassigned
            swankjesse Jesse Wilson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: