| Index: net/test/android/javatests/src/org/chromium/net/test/BaseHttpTestServer.java
|
| diff --git a/net/test/android/javatests/src/org/chromium/net/test/BaseHttpTestServer.java b/net/test/android/javatests/src/org/chromium/net/test/BaseHttpTestServer.java
|
| index d1b45f9edf0a2e9fee7afcf4526d430d47eccd25..43b8b92774db8e9b70aec9bc8ef410211f79903e 100644
|
| --- a/net/test/android/javatests/src/org/chromium/net/test/BaseHttpTestServer.java
|
| +++ b/net/test/android/javatests/src/org/chromium/net/test/BaseHttpTestServer.java
|
| @@ -14,6 +14,7 @@ import org.apache.http.HttpStatus;
|
| import org.apache.http.HttpVersion;
|
| import org.apache.http.client.methods.HttpGet;
|
| import org.apache.http.client.methods.HttpPost;
|
| +import org.apache.http.client.methods.HttpPut;
|
| import org.apache.http.impl.DefaultHttpServerConnection;
|
| import org.apache.http.message.BasicHttpResponse;
|
| import org.apache.http.params.BasicHttpParams;
|
| @@ -22,18 +23,33 @@ import org.apache.http.params.HttpParams;
|
| import java.io.IOException;
|
| import java.net.Socket;
|
|
|
| +import javax.net.ServerSocketFactory;
|
| +
|
| /** A base class for simple HTTP test servers. */
|
| public abstract class BaseHttpTestServer extends BaseTcpTestServer {
|
| private static final String TAG = "BaseHttpTestServer";
|
|
|
| /**
|
| - * Create an HTTP test server on the given port.
|
| + * Create an HTTP test server on the given port from the given server factory.
|
| + *
|
| + * @param serverFactory The factory to use to create the server socket.
|
| + * @param serverPort The port to listen on for incoming HTTP connections.
|
| + * @param acceptTimeoutMs The timeout for calls to ServerSocket.accept(), in milliseconds.
|
| + * @throws IOException If the server port can't be bound.
|
| + */
|
| + protected BaseHttpTestServer(ServerSocketFactory serverFactory, int serverPort,
|
| + int acceptTimeoutMs) throws IOException {
|
| + super(serverFactory, serverPort, acceptTimeoutMs);
|
| + }
|
| +
|
| + /**
|
| + * Create a default HTTP test server on the given port.
|
| *
|
| * @param serverPort The port to listen on for incoming HTTP connections.
|
| * @param acceptTimeoutMs The timeout for calls to ServerSocket.accept(), in milliseconds.
|
| * @throws IOException If the server port can't be bound.
|
| */
|
| - public BaseHttpTestServer(int serverPort, int acceptTimeoutMs) throws IOException {
|
| + protected BaseHttpTestServer(int serverPort, int acceptTimeoutMs) throws IOException {
|
| super(serverPort, acceptTimeoutMs);
|
| }
|
|
|
| @@ -59,7 +75,7 @@ public abstract class BaseHttpTestServer extends BaseTcpTestServer {
|
| conn.receiveRequestEntity((HttpEntityEnclosingRequest) request);
|
| }
|
|
|
| - HttpResponse response = null;
|
| + HttpResponse response;
|
| switch (request.getRequestLine().getMethod()) {
|
| case HttpGet.METHOD_NAME:
|
| response = handleGet(request);
|
| @@ -67,6 +83,9 @@ public abstract class BaseHttpTestServer extends BaseTcpTestServer {
|
| case HttpPost.METHOD_NAME:
|
| response = handlePost((HttpEntityEnclosingRequest) request);
|
| break;
|
| + case HttpPut.METHOD_NAME:
|
| + response = handlePut((HttpEntityEnclosingRequest) request);
|
| + break;
|
| default:
|
| response = handleUnsupported(request);
|
| break;
|
| @@ -118,6 +137,19 @@ public abstract class BaseHttpTestServer extends BaseTcpTestServer {
|
| return handleUnsupported(request);
|
| }
|
|
|
| + /**
|
| + * Handle a PUT request.
|
| + *
|
| + * The default implementation returns a 405. Override this function if you want to support
|
| + * PUT.
|
| + *
|
| + * @param request The PUT request to handle.
|
| + * @return The response to the PUT request.
|
| + */
|
| + protected HttpResponse handlePut(HttpEntityEnclosingRequest request) throws HttpException {
|
| + return handleUnsupported(request);
|
| + }
|
| +
|
| /** Handle an unsupported HTTP request.
|
| *
|
| * @param request The unsupported HTTP request.
|
|
|