Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ internal fun Dispatcher.wrap(): mockwebserver3.Dispatcher {

override fun peek(): mockwebserver3.MockResponse = delegate.peek().wrap()

override fun shutdown() {
override fun close() {
delegate.shutdown()
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ class MockWebServer :
@Synchronized
@Throws(IOException::class)
fun shutdown() {
delegate.shutdown()
delegate.close()
}

@Synchronized override fun after() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ class QueueDispatcher : Dispatcher() {
override fun peek(): MockResponse = throw UnsupportedOperationException("unexpected call")

fun enqueueResponse(response: MockResponse) {
delegate.enqueueResponse(response.wrap())
delegate.enqueue(response.wrap())
}

override fun shutdown() {
delegate.shutdown()
delegate.close()
}

fun setFailFast(failFast: Boolean) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ class MockWebServerRule : ExternalResource() {

override fun after() {
try {
server.shutdown()
server.close()
} catch (e: IOException) {
logger.log(Level.WARNING, "MockWebServer shutdown failed", e)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ class MockWebServerExtension :
val toClear = servers.values.toList()
servers.clear()
for (server in toClear) {
server.shutdown()
server.close()
}
} catch (e: IOException) {
logger.log(Level.WARNING, "MockWebServer shutdown failed", e)
Expand Down
17 changes: 4 additions & 13 deletions mockwebserver/api/mockwebserver3.api
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
public abstract class mockwebserver3/Dispatcher {
public abstract class mockwebserver3/Dispatcher : java/io/Closeable {
public fun <init> ()V
public fun close ()V
public abstract fun dispatch (Lmockwebserver3/RecordedRequest;)Lmockwebserver3/MockResponse;
public fun peek ()Lmockwebserver3/MockResponse;
public fun shutdown ()V
}

public final class mockwebserver3/MockResponse {
Expand Down Expand Up @@ -90,7 +90,6 @@ public abstract interface class mockwebserver3/MockResponseBody {
}

public final class mockwebserver3/MockWebServer : java/io/Closeable {
public static final field Companion Lmockwebserver3/MockWebServer$Companion;
public fun <init> ()V
public fun close ()V
public final fun enqueue (Lmockwebserver3/MockResponse;)V
Expand All @@ -113,7 +112,6 @@ public final class mockwebserver3/MockWebServer : java/io/Closeable {
public final fun setProtocols (Ljava/util/List;)V
public final fun setServerSocketFactory (Ljavax/net/ServerSocketFactory;)V
public final fun setStarted (Z)V
public final fun shutdown ()V
public final fun start ()V
public final fun start (I)V
public final fun start (Ljava/net/InetAddress;I)V
Expand All @@ -126,9 +124,6 @@ public final class mockwebserver3/MockWebServer : java/io/Closeable {
public final fun useHttps (Ljavax/net/ssl/SSLSocketFactory;)V
}

public final class mockwebserver3/MockWebServer$Companion {
}

public final class mockwebserver3/PushPromise {
public fun <init> (Ljava/lang/String;Ljava/lang/String;Lokhttp3/Headers;Lmockwebserver3/MockResponse;)V
public final fun getHeaders ()Lokhttp3/Headers;
Expand All @@ -138,19 +133,15 @@ public final class mockwebserver3/PushPromise {
}

public class mockwebserver3/QueueDispatcher : mockwebserver3/Dispatcher {
public static final field Companion Lmockwebserver3/QueueDispatcher$Companion;
public fun <init> ()V
public fun clear ()V
public fun close ()V
public fun dispatch (Lmockwebserver3/RecordedRequest;)Lmockwebserver3/MockResponse;
public fun enqueueResponse (Lmockwebserver3/MockResponse;)V
public fun enqueue (Lmockwebserver3/MockResponse;)V
protected final fun getResponseQueue ()Ljava/util/concurrent/BlockingQueue;
public fun peek ()Lmockwebserver3/MockResponse;
public fun setFailFast (Lmockwebserver3/MockResponse;)V
public fun setFailFast (Z)V
public fun shutdown ()V
}

public final class mockwebserver3/QueueDispatcher$Companion {
}

public final class mockwebserver3/RecordedRequest {
Expand Down
5 changes: 5 additions & 0 deletions mockwebserver/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import com.vanniktech.maven.publish.JavadocJar
import com.vanniktech.maven.publish.KotlinJvm
import org.jetbrains.kotlin.gradle.dsl.kotlinExtension

plugins {
kotlin("jvm")
Expand Down Expand Up @@ -29,3 +30,7 @@ dependencies {
mavenPublishing {
configure(KotlinJvm(javadocJar = JavadocJar.Empty()))
}

kotlin {
explicitApi()
}
9 changes: 5 additions & 4 deletions mockwebserver/src/main/kotlin/mockwebserver3/Dispatcher.kt
Original file line number Diff line number Diff line change
Expand Up @@ -15,29 +15,30 @@
*/
package mockwebserver3

import java.io.Closeable
import mockwebserver3.SocketPolicy.KeepOpen

/** Handler for mock server requests. */
abstract class Dispatcher {
public abstract class Dispatcher : Closeable {
/**
* Returns a response to satisfy `request`. This method may block (for instance, to wait on
* a CountdownLatch).
*/
@Throws(InterruptedException::class)
abstract fun dispatch(request: RecordedRequest): MockResponse
public abstract fun dispatch(request: RecordedRequest): MockResponse

/**
* Returns an early guess of the next response, used for policy on how an incoming request should
* be received. The default implementation returns an empty response. Mischievous implementations
* can return other values to test HTTP edge cases, such as unhappy socket policies or throttled
* request bodies.
*/
open fun peek(): MockResponse = MockResponse(socketPolicy = KeepOpen)
public open fun peek(): MockResponse = MockResponse(socketPolicy = KeepOpen)

/**
* Release any resources held by this dispatcher. Any requests that are currently being dispatched
* should return immediately. Responses returned after shutdown will not be transmitted: their
* socket connections have already been closed.
*/
open fun shutdown() {}
public open override fun close() {}
}
Loading
Loading