mirror of
https://github.com/microsoft/playwright-java.git
synced 2025-12-28 10:20:45 +00:00
fix: rename Route.continue_ to Route.resume (#253)
This commit is contained in:
parent
ee4f8698da
commit
6dbebaed5a
@ -34,19 +34,6 @@ import java.util.*;
|
||||
* request is issued to a redirected url.
|
||||
*/
|
||||
public interface Request {
|
||||
class RequestFailure {
|
||||
/**
|
||||
* Human-readable error message, e.g. {@code 'net::ERR_FAILED'}.
|
||||
*/
|
||||
private String errorText;
|
||||
|
||||
public RequestFailure(String errorText) {
|
||||
this.errorText = errorText;
|
||||
}
|
||||
public String errorText() {
|
||||
return this.errorText;
|
||||
}
|
||||
}
|
||||
class RequestTiming {
|
||||
/**
|
||||
* Request start time in milliseconds elapsed since January 1, 1970 00:00:00 UTC
|
||||
@ -126,7 +113,7 @@ public interface Request {
|
||||
*
|
||||
* <p> Example of logging of all the failed requests:
|
||||
*/
|
||||
RequestFailure failure();
|
||||
String failure();
|
||||
/**
|
||||
* Returns the {@code Frame} that initiated this request.
|
||||
*/
|
||||
|
||||
@ -25,7 +25,7 @@ import java.util.*;
|
||||
* allows to handle the route.
|
||||
*/
|
||||
public interface Route {
|
||||
class ContinueOptions {
|
||||
class ResumeOptions {
|
||||
/**
|
||||
* If set changes the request HTTP headers. Header values will be converted to a string.
|
||||
*/
|
||||
@ -43,23 +43,23 @@ public interface Route {
|
||||
*/
|
||||
public String url;
|
||||
|
||||
public ContinueOptions withHeaders(Map<String, String> headers) {
|
||||
public ResumeOptions withHeaders(Map<String, String> headers) {
|
||||
this.headers = headers;
|
||||
return this;
|
||||
}
|
||||
public ContinueOptions withMethod(String method) {
|
||||
public ResumeOptions withMethod(String method) {
|
||||
this.method = method;
|
||||
return this;
|
||||
}
|
||||
public ContinueOptions withPostData(String postData) {
|
||||
public ResumeOptions withPostData(String postData) {
|
||||
this.postData = postData.getBytes(StandardCharsets.UTF_8);
|
||||
return this;
|
||||
}
|
||||
public ContinueOptions withPostData(byte[] postData) {
|
||||
public ResumeOptions withPostData(byte[] postData) {
|
||||
this.postData = postData;
|
||||
return this;
|
||||
}
|
||||
public ContinueOptions withUrl(String url) {
|
||||
public ResumeOptions withUrl(String url) {
|
||||
this.url = url;
|
||||
return this;
|
||||
}
|
||||
@ -138,13 +138,13 @@ public interface Route {
|
||||
* - {@code 'failed'} - A generic failure occurred.
|
||||
*/
|
||||
void abort(String errorCode);
|
||||
default void continue_() {
|
||||
continue_(null);
|
||||
default void resume() {
|
||||
resume(null);
|
||||
}
|
||||
/**
|
||||
* Continues route's request with optional overrides.
|
||||
*/
|
||||
void continue_(ContinueOptions options);
|
||||
void resume(ResumeOptions options);
|
||||
default void fulfill() {
|
||||
fulfill(null);
|
||||
}
|
||||
|
||||
@ -367,7 +367,7 @@ class BrowserContextImpl extends ChannelOwner implements BrowserContext {
|
||||
Route route = connection.getExistingObject(params.getAsJsonObject("route").get("guid").getAsString());
|
||||
boolean handled = routes.handle(route);
|
||||
if (!handled) {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
}
|
||||
} else if ("page".equals(event)) {
|
||||
PageImpl page = connection.getExistingObject(params.getAsJsonObject("page").get("guid").getAsString());
|
||||
|
||||
@ -168,7 +168,7 @@ public class PageImpl extends ChannelOwner implements Page {
|
||||
String guid = params.getAsJsonObject("request").get("guid").getAsString();
|
||||
RequestImpl request = connection.getExistingObject(guid);
|
||||
if (params.has("failureText")) {
|
||||
request.failure = new Request.RequestFailure(params.get("failureText").getAsString());
|
||||
request.failure = params.get("failureText").getAsString();
|
||||
}
|
||||
listeners.notify(EventType.REQUESTFAILED, request);
|
||||
} else if ("requestFinished".equals(event)) {
|
||||
@ -204,7 +204,7 @@ public class PageImpl extends ChannelOwner implements Page {
|
||||
handled = browserContext.routes.handle(route);
|
||||
}
|
||||
if (!handled) {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
}
|
||||
} else if ("video".equals(event)) {
|
||||
video().setRelativePath(params.get("relativePath").getAsString());
|
||||
|
||||
@ -32,7 +32,7 @@ public class RequestImpl extends ChannelOwner implements Request {
|
||||
private RequestImpl redirectedFrom;
|
||||
private RequestImpl redirectedTo;
|
||||
final Map<String, String> headers = new HashMap<>();
|
||||
RequestFailure failure;
|
||||
String failure;
|
||||
RequestTiming timing;
|
||||
|
||||
RequestImpl(ChannelOwner parent, String type, String guid, JsonObject initializer) {
|
||||
@ -54,7 +54,7 @@ public class RequestImpl extends ChannelOwner implements Request {
|
||||
}
|
||||
|
||||
@Override
|
||||
public RequestFailure failure() {
|
||||
public String failure() {
|
||||
return failure;
|
||||
}
|
||||
|
||||
|
||||
@ -16,7 +16,6 @@
|
||||
|
||||
package com.microsoft.playwright.impl;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
import com.microsoft.playwright.PlaywrightException;
|
||||
import com.microsoft.playwright.Request;
|
||||
@ -25,7 +24,6 @@ import com.microsoft.playwright.Route;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
import java.util.Base64;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@ -44,13 +42,13 @@ public class RouteImpl extends ChannelOwner implements Route {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void continue_(ContinueOptions options) {
|
||||
withLogging("Route.continue", () -> continueImpl(options));
|
||||
public void resume(ResumeOptions options) {
|
||||
withLogging("Route.resume", () -> resumeImpl(options));
|
||||
}
|
||||
|
||||
private void continueImpl(ContinueOptions options) {
|
||||
private void resumeImpl(ResumeOptions options) {
|
||||
if (options == null) {
|
||||
options = new ContinueOptions();
|
||||
options = new ResumeOptions();
|
||||
}
|
||||
JsonObject params = new JsonObject();
|
||||
if (options.url != null) {
|
||||
|
||||
@ -43,7 +43,7 @@ public class TestBrowserContextRoute extends TestBase {
|
||||
assertEquals("document", request.resourceType());
|
||||
assertEquals(page.mainFrame(), request.frame());
|
||||
assertEquals("about:blank", request.frame().url());
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
Response response = page.navigate(server.EMPTY_PAGE);
|
||||
assertTrue(response.ok());
|
||||
@ -59,20 +59,20 @@ public class TestBrowserContextRoute extends TestBase {
|
||||
List<Integer> intercepted = new ArrayList<>();
|
||||
Consumer<Route> handler1 = route -> {
|
||||
intercepted.add(1);
|
||||
route.continue_();
|
||||
route.resume();
|
||||
};
|
||||
context.route("**/empty.html", handler1);
|
||||
context.route("**/empty.html", route -> {
|
||||
intercepted.add(2);
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
context.route("**/empty.html", route -> {
|
||||
intercepted.add(3);
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
context.route("**/*", route -> {
|
||||
intercepted.add(4);
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
assertEquals(asList(1), intercepted);
|
||||
|
||||
@ -81,7 +81,7 @@ public class TestNetworkRequest extends TestBase {
|
||||
List<Request> requests = new ArrayList<>();
|
||||
page.route("**", route -> {
|
||||
requests.add(route.request());
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
page.navigate(server.PREFIX + "/foo.html");
|
||||
|
||||
@ -185,7 +185,7 @@ public class TestNetworkRequest extends TestBase {
|
||||
});
|
||||
Request[] request = {null};
|
||||
page.onRequest(r -> request[0] = r);
|
||||
page.route("/post", route -> route.continue_());
|
||||
page.route("/post", route -> route.resume());
|
||||
page.evaluate("async () => {\n" +
|
||||
" await fetch('./post', { method: 'POST', body: new Uint8Array(Array.from(Array(256).keys())) });\n" +
|
||||
"}");
|
||||
|
||||
@ -62,16 +62,16 @@ public class TestPageEventNetwork extends TestBase {
|
||||
assertNull(failedRequests.get(0).response());
|
||||
assertEquals("stylesheet", failedRequests.get(0).resourceType());
|
||||
if (isChromium()) {
|
||||
assertEquals("net::ERR_EMPTY_RESPONSE", failedRequests.get(0).failure().errorText());
|
||||
assertEquals("net::ERR_EMPTY_RESPONSE", failedRequests.get(0).failure());
|
||||
} else if (isWebKit()) {
|
||||
if (isMac)
|
||||
assertEquals("The network connection was lost.", failedRequests.get(0).failure().errorText());
|
||||
assertEquals("The network connection was lost.", failedRequests.get(0).failure());
|
||||
else if (isWindows)
|
||||
assertEquals("Server returned nothing (no headers, no data)", failedRequests.get(0).failure().errorText());
|
||||
assertEquals("Server returned nothing (no headers, no data)", failedRequests.get(0).failure());
|
||||
else
|
||||
assertEquals("Message Corrupt", failedRequests.get(0).failure().errorText());
|
||||
assertEquals("Message Corrupt", failedRequests.get(0).failure());
|
||||
} else {
|
||||
assertEquals("NS_ERROR_NET_RESET", failedRequests.get(0).failure().errorText());
|
||||
assertEquals("NS_ERROR_NET_RESET", failedRequests.get(0).failure());
|
||||
}
|
||||
assertNotNull(failedRequests.get(0).frame());
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ public class TestPageRoute extends TestBase {
|
||||
assertEquals("document", request.resourceType());
|
||||
assertTrue(request.frame() == page.mainFrame());
|
||||
assertEquals("about:blank", request.frame().url());
|
||||
route.continue_();
|
||||
route.resume();
|
||||
intercepted[0] = true;
|
||||
});
|
||||
Response response = page.navigate(server.EMPTY_PAGE);
|
||||
@ -64,20 +64,20 @@ public class TestPageRoute extends TestBase {
|
||||
List<Integer> intercepted = new ArrayList<>();
|
||||
Consumer<Route> handler1 = route -> {
|
||||
intercepted.add(1);
|
||||
route.continue_();
|
||||
route.resume();
|
||||
};
|
||||
page.route("**/empty.html", handler1);
|
||||
page.route("**/empty.html", route -> {
|
||||
intercepted.add(2);
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
page.route("**/empty.html", route -> {
|
||||
intercepted.add(3);
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
page.route("**/*", route -> {
|
||||
intercepted.add(4);
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
assertEquals(asList(1), intercepted);
|
||||
@ -97,7 +97,7 @@ public class TestPageRoute extends TestBase {
|
||||
void shouldWorkWhenPOSTIsRedirectedWith302() {
|
||||
server.setRedirect("/rredirect", "/empty.html");
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
page.route("**/*", route -> route.continue_());
|
||||
page.route("**/*", route -> route.resume());
|
||||
page.setContent("<form action='/rredirect' method='post'>\n" +
|
||||
" <input type='hidden' id='foo' name='foo' value='FOOBAR'>\n" +
|
||||
"</form>");
|
||||
@ -111,7 +111,7 @@ public class TestPageRoute extends TestBase {
|
||||
page.route("**/*", route -> {
|
||||
Map<String, String> headers = new HashMap<>(route.request().headers());
|
||||
headers.put("foo", "bar");
|
||||
route.continue_(new Route.ContinueOptions().withHeaders(headers));
|
||||
route.resume(new Route.ResumeOptions().withHeaders(headers));
|
||||
});
|
||||
page.navigate(server.PREFIX + "/rrredirect");
|
||||
}
|
||||
@ -123,7 +123,7 @@ public class TestPageRoute extends TestBase {
|
||||
page.route("**/*", route -> {
|
||||
Map<String, String> headers = new HashMap<>(route.request().headers());
|
||||
headers.remove("foo");
|
||||
route.continue_(new Route.ContinueOptions().withHeaders(headers));
|
||||
route.resume(new Route.ResumeOptions().withHeaders(headers));
|
||||
});
|
||||
|
||||
Future<Server.Request> serverRequest = server.futureRequest("/title.html");
|
||||
@ -136,7 +136,7 @@ public class TestPageRoute extends TestBase {
|
||||
List<Request> requests = new ArrayList<>();
|
||||
page.route("**/*", route -> {
|
||||
requests.add(route.request());
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
page.navigate(server.PREFIX + "/one-style.html");
|
||||
assertTrue(requests.get(1).url().contains("/one-style.css"));
|
||||
@ -151,7 +151,7 @@ public class TestPageRoute extends TestBase {
|
||||
context.addCookies(asList(new BrowserContext.AddCookie()
|
||||
.withUrl(server.EMPTY_PAGE).withName("foo").withValue("bar")));
|
||||
// Setup request interception.
|
||||
page.route("**/*", route -> route.continue_());
|
||||
page.route("**/*", route -> route.resume());
|
||||
Response response = page.reload();
|
||||
assertEquals(200, response.status());
|
||||
}
|
||||
@ -161,7 +161,7 @@ public class TestPageRoute extends TestBase {
|
||||
page.setExtraHTTPHeaders(mapOf("foo", "bar"));
|
||||
page.route("**/*", route -> {
|
||||
assertEquals("bar", route.request().headers().get("foo"));
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
Response response = page.navigate(server.EMPTY_PAGE);
|
||||
assertTrue(response.ok());
|
||||
@ -173,7 +173,7 @@ public class TestPageRoute extends TestBase {
|
||||
void shouldWorkWithRedirectInsideSyncXHR() {
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
server.setRedirect("/logo.png", "/pptr.png");
|
||||
page.route("**/*", route -> route.continue_());
|
||||
page.route("**/*", route -> route.resume());
|
||||
Object status = page.evaluate("async () => {\n" +
|
||||
" const request = new XMLHttpRequest();\n" +
|
||||
" request.open('GET', '/logo.png', false); // `false` makes the request synchronous\n" +
|
||||
@ -188,7 +188,7 @@ public class TestPageRoute extends TestBase {
|
||||
page.setExtraHTTPHeaders(mapOf("referer", server.EMPTY_PAGE));
|
||||
page.route("**/*", route -> {
|
||||
assertEquals(server.EMPTY_PAGE, route.request().headers().get("referer"));
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
Response response = page.navigate(server.EMPTY_PAGE);
|
||||
assertTrue(response.ok());
|
||||
@ -219,17 +219,17 @@ public class TestPageRoute extends TestBase {
|
||||
});
|
||||
assertNotNull(failedRequest);
|
||||
if (isWebKit())
|
||||
assertEquals("Request intercepted", failedRequest.failure().errorText());
|
||||
assertEquals("Request intercepted", failedRequest.failure());
|
||||
else if (isFirefox())
|
||||
assertEquals("NS_ERROR_OFFLINE", failedRequest.failure().errorText());
|
||||
assertEquals("NS_ERROR_OFFLINE", failedRequest.failure());
|
||||
else
|
||||
assertEquals("net::ERR_INTERNET_DISCONNECTED", failedRequest.failure().errorText());
|
||||
assertEquals("net::ERR_INTERNET_DISCONNECTED", failedRequest.failure());
|
||||
}
|
||||
|
||||
@Test
|
||||
void shouldSendReferer() throws ExecutionException, InterruptedException {
|
||||
page.setExtraHTTPHeaders(mapOf("referer", "http://google.com/"));
|
||||
page.route("**/*", route -> route.continue_());
|
||||
page.route("**/*", route -> route.resume());
|
||||
Future<Server.Request> request = server.futureRequest("/grid.html");
|
||||
page.navigate(server.PREFIX + "/grid.html");
|
||||
assertEquals(asList("http://google.com/"), request.get().headers.get("referer"));
|
||||
@ -256,7 +256,7 @@ public class TestPageRoute extends TestBase {
|
||||
void shouldNotWorkWithRedirects() {
|
||||
List<Request> intercepted = new ArrayList<>();
|
||||
page.route("**/*", route -> {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
intercepted.add(route.request());
|
||||
});
|
||||
server.setRedirect("/non-existing-page.html", "/non-existing-page-2.html");
|
||||
@ -293,7 +293,7 @@ public class TestPageRoute extends TestBase {
|
||||
void shouldWorkWithRedirectsForSubresources() {
|
||||
List<Request> intercepted = new ArrayList<>();
|
||||
page.route("**/*", route -> {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
intercepted.add(route.request());
|
||||
});
|
||||
server.setRedirect("/one-style.css", "/two-style.css");
|
||||
@ -339,7 +339,7 @@ public class TestPageRoute extends TestBase {
|
||||
if (spinner[0]) {
|
||||
route.abort();
|
||||
} else {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
}
|
||||
spinner[0] = !spinner[0];
|
||||
});
|
||||
@ -355,7 +355,7 @@ public class TestPageRoute extends TestBase {
|
||||
List<Request> requests = new ArrayList<>();
|
||||
page.route("**/*", route -> {
|
||||
requests.add(route.request());
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
String dataURL = "data:text/html,<div>yo</div>";
|
||||
Response response = page.navigate(dataURL);
|
||||
@ -369,7 +369,7 @@ public class TestPageRoute extends TestBase {
|
||||
List<Request> requests = new ArrayList<>();
|
||||
page.route("**/*", route -> {
|
||||
requests.add(route.request());
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
String dataURL = "data:text/html,<div>yo</div>";
|
||||
Object text = page.evaluate("url => fetch(url).then(r => r.text())", dataURL);
|
||||
@ -382,7 +382,7 @@ public class TestPageRoute extends TestBase {
|
||||
List<Request> requests = new ArrayList<>();
|
||||
page.route("**/*", route -> {
|
||||
requests.add(route.request());
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
Response response = page.navigate(server.EMPTY_PAGE + "#hash");
|
||||
assertEquals(200, response.status());
|
||||
@ -395,7 +395,7 @@ public class TestPageRoute extends TestBase {
|
||||
void shouldWorkWithEncodedServer() throws InterruptedException {
|
||||
// The requestWillBeSent will report encoded URL, whereas interception will
|
||||
// report URL as-is. @see crbug.com/759388
|
||||
page.route("**/*", route -> route.continue_());
|
||||
page.route("**/*", route -> route.resume());
|
||||
Response response = page.navigate(server.PREFIX + "/some nonexisting page");
|
||||
assertEquals(404, response.status());
|
||||
}
|
||||
@ -406,7 +406,7 @@ public class TestPageRoute extends TestBase {
|
||||
exchange.sendResponseHeaders(200, 0);
|
||||
exchange.getResponseBody().close();
|
||||
});
|
||||
page.route("**/*", route -> route.continue_());
|
||||
page.route("**/*", route -> route.resume());
|
||||
Response response = page.navigate(server.PREFIX + "/malformed?rnd=%911");
|
||||
assertEquals(200, response.status());
|
||||
}
|
||||
@ -417,7 +417,7 @@ public class TestPageRoute extends TestBase {
|
||||
// report encoded URL for stylesheet. @see crbug.com/759388
|
||||
List<Request> requests = new ArrayList<>();
|
||||
page.route("**/*", route -> {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
requests.add(route.request());
|
||||
});
|
||||
Response response = page.navigate("data:text/html,<link rel='stylesheet' href='" + server.PREFIX + "/fonts?helvetica|arial'/>");
|
||||
@ -437,7 +437,7 @@ public class TestPageRoute extends TestBase {
|
||||
// Delete frame to cause request to be canceled.
|
||||
page.evalOnSelector("iframe", "frame => frame.remove()");
|
||||
try {
|
||||
route[0].continue_();
|
||||
route[0].resume();
|
||||
} catch (PlaywrightException e) {
|
||||
fail("Should not throw");
|
||||
}
|
||||
@ -449,7 +449,7 @@ public class TestPageRoute extends TestBase {
|
||||
boolean[] intercepted = {false};
|
||||
page.route(server.CROSS_PROCESS_PREFIX + "/empty.html", route -> {
|
||||
intercepted[0] = true;
|
||||
route.continue_();
|
||||
route.resume();
|
||||
});
|
||||
Response response = page.navigate(server.CROSS_PROCESS_PREFIX + "/empty.html");
|
||||
assertTrue(response.ok());
|
||||
@ -468,7 +468,7 @@ public class TestPageRoute extends TestBase {
|
||||
});
|
||||
page.route("**/*", route -> {
|
||||
if (!route.request().url().equals(server.PREFIX + "/redirect_this")) {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
return;
|
||||
}
|
||||
route.fulfill(new Route.FulfillOptions()
|
||||
|
||||
@ -54,7 +54,7 @@ public class TestPopup extends TestBase {
|
||||
page.setContent("<a target=_blank rel=noopener href='empty.html'>link</a>");
|
||||
boolean[] intercepted = {false};
|
||||
context.route("**/empty.html", route -> {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
intercepted[0] = true;
|
||||
});
|
||||
context.waitForPage(() -> page.click("a"));
|
||||
@ -162,7 +162,7 @@ public class TestPopup extends TestBase {
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
boolean[] intercepted = {false};
|
||||
context.route("**/empty.html", route -> {
|
||||
route.continue_();
|
||||
route.resume();
|
||||
intercepted[0] = true;
|
||||
});
|
||||
page.waitForPopup(() -> {
|
||||
|
||||
@ -31,7 +31,7 @@ public class TestRequestContinue extends TestBase {
|
||||
|
||||
@Test
|
||||
void shouldWork() {
|
||||
page.route("**/*", route -> route.continue_());
|
||||
page.route("**/*", route -> route.resume());
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
}
|
||||
|
||||
@ -40,7 +40,7 @@ public class TestRequestContinue extends TestBase {
|
||||
page.route("**/*", route -> {
|
||||
Map<String, String> headers = new HashMap<>(route.request().headers());
|
||||
headers.put("FOO", "bar");
|
||||
route.continue_(new Route.ContinueOptions().withHeaders(headers));
|
||||
route.resume(new Route.ResumeOptions().withHeaders(headers));
|
||||
});
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
Future<Server.Request> request = server.futureRequest("/sleep.zzz");
|
||||
@ -52,7 +52,7 @@ public class TestRequestContinue extends TestBase {
|
||||
void shouldAmendMethod() throws ExecutionException, InterruptedException {
|
||||
Future<Server.Request> sRequest = server.futureRequest("/sleep.zzz");
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
page.route("**/*", route -> route.continue_(new Route.ContinueOptions().withMethod("POST")));
|
||||
page.route("**/*", route -> route.resume(new Route.ResumeOptions().withMethod("POST")));
|
||||
Future<Server.Request> request = server.futureRequest("/sleep.zzz");
|
||||
page.evaluate("() => fetch('/sleep.zzz')");
|
||||
assertEquals("POST", request.get().method);
|
||||
@ -63,7 +63,7 @@ public class TestRequestContinue extends TestBase {
|
||||
void shouldOverrideRequestUrl() throws ExecutionException, InterruptedException {
|
||||
Future<Server.Request> serverRequest = server.futureRequest("/global-var.html");
|
||||
page.route("**/foo", route -> {
|
||||
route.continue_(new Route.ContinueOptions().withUrl(server.PREFIX + "/global-var.html"));
|
||||
route.resume(new Route.ResumeOptions().withUrl(server.PREFIX + "/global-var.html"));
|
||||
});
|
||||
Response response = page.navigate(server.PREFIX + "/foo");
|
||||
assertEquals(server.PREFIX + "/foo", response.url());
|
||||
@ -76,10 +76,10 @@ public class TestRequestContinue extends TestBase {
|
||||
PlaywrightException[] error = {null};
|
||||
page.route("**/*", route -> {
|
||||
try {
|
||||
route.continue_(new Route.ContinueOptions().withUrl("file:///tmp/foo"));
|
||||
route.resume(new Route.ResumeOptions().withUrl("file:///tmp/foo"));
|
||||
} catch (PlaywrightException e) {
|
||||
error[0] = e;
|
||||
route.continue_();
|
||||
route.resume();
|
||||
}
|
||||
});
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
@ -91,7 +91,7 @@ public class TestRequestContinue extends TestBase {
|
||||
void shouldOverrideMethodAlongWithUrl() throws ExecutionException, InterruptedException {
|
||||
Future<Server.Request> serverRequest = server.futureRequest("/empty.html");
|
||||
page.route("**/foo", route -> {
|
||||
route.continue_(new Route.ContinueOptions().withUrl(server.EMPTY_PAGE).withMethod("POST"));
|
||||
route.resume(new Route.ResumeOptions().withUrl(server.EMPTY_PAGE).withMethod("POST"));
|
||||
});
|
||||
page.navigate(server.PREFIX + "/foo");
|
||||
assertEquals("POST", serverRequest.get().method);
|
||||
@ -100,7 +100,7 @@ public class TestRequestContinue extends TestBase {
|
||||
@Test
|
||||
void shouldAmendMethodOnMainRequest() throws ExecutionException, InterruptedException {
|
||||
Future<Server.Request> request = server.futureRequest("/empty.html");
|
||||
page.route("**/*", route -> route.continue_(new Route.ContinueOptions().withMethod("POST")));
|
||||
page.route("**/*", route -> route.resume(new Route.ResumeOptions().withMethod("POST")));
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
assertEquals("POST", request.get().method);
|
||||
}
|
||||
@ -109,7 +109,7 @@ public class TestRequestContinue extends TestBase {
|
||||
void shouldAmendPostData() throws ExecutionException, InterruptedException {
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
page.route("**/*", route -> {
|
||||
route.continue_(new Route.ContinueOptions().withPostData("doggo"));
|
||||
route.resume(new Route.ResumeOptions().withPostData("doggo"));
|
||||
});
|
||||
Future<Server.Request> serverRequest = server.futureRequest("/sleep.zzz");
|
||||
page.evaluate("() => fetch('/sleep.zzz', { method: 'POST', body: 'birdy' })");
|
||||
@ -120,7 +120,7 @@ public class TestRequestContinue extends TestBase {
|
||||
void shouldAmendUtf8PostData() throws ExecutionException, InterruptedException {
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
page.route("**/*", route -> {
|
||||
route.continue_(new Route.ContinueOptions().withPostData("пушкин"));
|
||||
route.resume(new Route.ResumeOptions().withPostData("пушкин"));
|
||||
});
|
||||
Future<Server.Request> serverRequest = server.futureRequest("/sleep.zzz");
|
||||
page.evaluate("() => fetch('/sleep.zzz', { method: 'POST', body: 'birdy' })");
|
||||
@ -132,7 +132,7 @@ public class TestRequestContinue extends TestBase {
|
||||
void shouldAmendLongerPostData() throws ExecutionException, InterruptedException {
|
||||
page.navigate(server.EMPTY_PAGE);
|
||||
page.route("**/*", route -> {
|
||||
route.continue_(new Route.ContinueOptions().withPostData("doggo-is-longer-than-birdy"));
|
||||
route.resume(new Route.ResumeOptions().withPostData("doggo-is-longer-than-birdy"));
|
||||
});
|
||||
Future<Server.Request> serverRequest = server.futureRequest("/sleep.zzz");
|
||||
page.evaluate("() => fetch('/sleep.zzz', { method: 'POST', body: 'birdy' })");
|
||||
@ -148,7 +148,7 @@ public class TestRequestContinue extends TestBase {
|
||||
arr[i] = (byte) i;
|
||||
}
|
||||
page.route("**/*", route -> {
|
||||
route.continue_(new Route.ContinueOptions().withPostData(arr));
|
||||
route.resume(new Route.ResumeOptions().withPostData(arr));
|
||||
});
|
||||
Future<Server.Request> serverRequest = server.futureRequest("/sleep.zzz");
|
||||
page.evaluate("() => fetch('/sleep.zzz', { method: 'POST', body: 'birdy' })");
|
||||
|
||||
@ -1 +1 @@
|
||||
1.9.0-next-1612383782000
|
||||
1.9.0-next-1612388458000
|
||||
|
||||
@ -888,7 +888,7 @@ class Field extends Element {
|
||||
output.add(offset + "}");
|
||||
return;
|
||||
}
|
||||
if ("Route.continue_.options.postData".equals(jsonPath)) {
|
||||
if ("Route.resume.options.postData".equals(jsonPath)) {
|
||||
output.add(offset + "public " + parentClass + " withPostData(String postData) {");
|
||||
output.add(offset + " this.postData = postData.getBytes(StandardCharsets.UTF_8);");
|
||||
output.add(offset + " return this;");
|
||||
|
||||
@ -190,7 +190,7 @@ class Types {
|
||||
add("ElementHandle.selectOption.values", "Array<ElementHandle>|Array<Object>|Array<string>|ElementHandle|Object|null|string", "String");
|
||||
add("ElementHandle.setInputFiles.files", "Array<Object>|Array<path>|Object|path", "String");
|
||||
add("FileChooser.setFiles.files", "Array<Object>|Array<path>|Object|path", "String");
|
||||
add("Route.continue_.options.postData", "Buffer|string", "byte[]", new Empty());
|
||||
add("Route.resume.options.postData", "Buffer|string", "byte[]", new Empty());
|
||||
add("Route.fulfill.options.body", "Buffer|string", "String");
|
||||
add("Logger.log.message", "string|Error", "String");
|
||||
|
||||
@ -199,9 +199,6 @@ class Types {
|
||||
add("Browser.newPage.options.geolocation", "Object", "Geolocation", new Empty());
|
||||
add("BrowserType.launchPersistentContext.options.geolocation", "Object", "Geolocation", new Empty());
|
||||
|
||||
// node.js types
|
||||
add("Route.continue_.options", "Object", "ContinueOptions");
|
||||
|
||||
// TODO: fix upstream types!
|
||||
add("Playwright.devices", "Object", "Map<String, DeviceDescriptor>", new Empty());
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user