| Index: android_webview/embeddedtestserver/java/src/org/chromium/net/test/AwEmbeddedTestServer.java
|
| diff --git a/android_webview/embeddedtestserver/java/src/org/chromium/net/test/AwEmbeddedTestServer.java b/android_webview/embeddedtestserver/java/src/org/chromium/net/test/AwEmbeddedTestServer.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..16ab8052f90d220cafa2f0155a52c95e98d8f4f3
|
| --- /dev/null
|
| +++ b/android_webview/embeddedtestserver/java/src/org/chromium/net/test/AwEmbeddedTestServer.java
|
| @@ -0,0 +1,53 @@
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +package org.chromium.net.test;
|
| +
|
| +import android.content.Context;
|
| +
|
| +/** A simple file server for java android webview tests which extends
|
| + * from class EmbeddedTestServer. It is able to add custom handlers
|
| + * which registers with net::test_server::EmbeddedTestServer native code.
|
| + *
|
| + * An example use:
|
| + * AwEmbeddedTestServer s = new AwEmbeddedTestServer();
|
| + * s.initializeNative();
|
| + * s.serveFilesFromDirectory("/path/to/my/directory");
|
| + * if (!s.start()) {
|
| + * throw new SomeKindOfException("Unable to initialize EmbeddedTestServer.");
|
| + * }
|
| + *
|
| + * // serve requests...
|
| + * s.getURL("/foo/bar.txt");
|
| + *
|
| + * s.shutdownAndWait();
|
| + * s.destroy();
|
| + *
|
| + * Note that this runs net::test_server::EmbeddedTestServer in a service in a separate APK.
|
| + */
|
| +public class AwEmbeddedTestServer extends EmbeddedTestServer {
|
| + private static long[] sCustomHandlers;
|
| +
|
| + /** Create and initialize a server with the default and custom handlers.
|
| + *
|
| + * This handles native object initialization, server configuration, and server initialization.
|
| + * On returning, the server is ready for use.
|
| + *
|
| + * @param context The context in which the server will run.
|
| + * @return The created server.
|
| + */
|
| + public static AwEmbeddedTestServer createAndStartServer(Context context)
|
| + throws InterruptedException {
|
| + AwEmbeddedTestServer server = new AwEmbeddedTestServer();
|
| + server.initializeNative(context);
|
| + AwEmbeddedTestServer.sCustomHandlers = server.getCustomHandlers();
|
| + server.addDefaultHandlers("");
|
| + server.registerRequestHandlers(sCustomHandlers);
|
| + if (!server.start()) {
|
| + throw new EmbeddedTestServerFailure(
|
| + "Failed to start serving using default or custom handlers.");
|
| + }
|
| + return server;
|
| + }
|
| +}
|
|
|