[components] concept-fetch: Add API/flag to force network request
This commit is contained in:
committed by
Sebastian Kaspari
parent
620e6bc33d
commit
12d8b54dd4
@@ -63,7 +63,7 @@ private fun HttpURLConnection.addBodyFrom(request: Request) {
|
||||
}
|
||||
}
|
||||
|
||||
private fun HttpURLConnection.setupWith(request: Request) {
|
||||
internal fun HttpURLConnection.setupWith(request: Request) {
|
||||
requestMethod = request.method.name
|
||||
instanceFollowRedirects = request.redirect == Request.Redirect.FOLLOW
|
||||
|
||||
@@ -75,6 +75,8 @@ private fun HttpURLConnection.setupWith(request: Request) {
|
||||
readTimeout = unit.toMillis(timeout).toInt()
|
||||
}
|
||||
|
||||
useCaches = request.useCaches
|
||||
|
||||
// HttpURLConnection can't be configured to omit cookies. As
|
||||
// a workaround, we delete all cookies we have stored for
|
||||
// the request URI.
|
||||
|
||||
@@ -5,8 +5,12 @@
|
||||
package mozilla.components.lib.fetch.httpurlconnection
|
||||
|
||||
import mozilla.components.concept.fetch.Client
|
||||
import mozilla.components.concept.fetch.Request
|
||||
import org.junit.Assert.assertFalse
|
||||
import org.junit.Assert.assertTrue
|
||||
import org.junit.Test
|
||||
import java.net.HttpURLConnection
|
||||
import java.net.URL
|
||||
|
||||
class HttpUrlConnectionFetchTestCases : mozilla.components.tooling.fetch.tests.FetchTestCases() {
|
||||
override fun createNewClient(): Client = HttpURLConnectionClient()
|
||||
@@ -18,4 +22,16 @@ class HttpUrlConnectionFetchTestCases : mozilla.components.tooling.fetch.tests.F
|
||||
// We need at least one test case defined here so that this is recognized as test class.
|
||||
assertTrue(createNewClient() is HttpURLConnectionClient)
|
||||
}
|
||||
|
||||
@Test
|
||||
override fun get200WithCacheControl() {
|
||||
// We can't run the base fetch test case because HttpResponseCache
|
||||
// doesn't work in a unit test. So we test that we set the
|
||||
// flag correctly instead.
|
||||
val connection = (URL("https://mozilla.org").openConnection() as HttpURLConnection)
|
||||
assertTrue(connection.useCaches)
|
||||
|
||||
connection.setupWith((Request("https://mozilla.org", useCaches = false)))
|
||||
assertFalse(connection.useCaches)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user