enum class SocketPolicy
What should be done with the incoming socket.
Be careful when using values like DISCONNECT_AT_END, SHUTDOWN_INPUT_AT_END and SHUTDOWN_OUTPUT_AT_END that close a socket after a response, and where there are follow-up requests. The client is unblocked and free to continue as soon as it has received the entire response body. If and when the client makes a subsequent request using a pooled socket the server may not have had time to close the socket. The socket will be closed at an indeterminate point before or during the second request. It may be closed after client has started sending the request body. If a request body is not retryable then the client may fail the request, making client behavior non-deterministic. Add delays in the client to improve the chances that the server has closed the socket before follow up requests are made.
|
Shutdown MockWebServer after writing response. |
|
|
Keep the socket open after the response. This is the default HTTP/1.1 behavior. |
|
|
Close the socket after the response. This is the default HTTP/1.0 behavior. For HTTP/2 connections, this sends a GOAWAYframe immediately after the response and will close the connection when the client's socket is exhausted. |
|
|
Wrap the socket with SSL at the completion of this request/response pair. Used for CONNECT messages to tunnel SSL over an HTTP proxy. |
|
|
Request immediate close of connection without even reading the request. Use to simulate buggy SSL servers closing connections in response to unrecognized TLS extensions. |
|
|
Close connection after reading the request but before writing the response. Use this to simulate late connection pool failures. |
|
|
Close connection after reading half of the request body (if present). |
|
|
Close connection after writing half of the response body (if present). |
|
|
Don't trust the client during the SSL handshake. |
|
|
Shutdown the socket input after sending the response. For testing bad behavior. |
|
|
Shutdown the socket output after sending the response. For testing bad behavior. |
|
|
After accepting the connection and doing TLS (if configured) don't do HTTP/1.1 or HTTP/2 framing. Ignore the socket completely until the server is shut down. |
|
|
Read the request but don't respond to it. Just keep the socket open. For testing read response header timeout issue. |
|
|
Fail HTTP/2 requests without processing them by sending an MockResponse.getHttp2ErrorCode. |
|
|
Transmit a |
|
|
Transmit a |