1
0
mirror of synced 2026-08-07 07:56:55 +00:00

fix: change postData field type to Object (#296)

This commit is contained in:
Yury Semikhatsky
2021-02-19 16:28:26 -08:00
committed by GitHub
parent aa853e8386
commit 80c11f76aa
4 changed files with 15 additions and 12 deletions
@@ -37,7 +37,7 @@ public interface Route {
/**
* If set changes the post data of request
*/
public byte[] postData;
public Object postData;
/**
* If set changes the request URL. New URL must have same protocol as original one.
*/
@@ -52,7 +52,7 @@ public interface Route {
return this;
}
public ResumeOptions withPostData(String postData) {
this.postData = postData.getBytes(StandardCharsets.UTF_8);
this.postData = postData;
return this;
}
public ResumeOptions withPostData(byte[] postData) {
@@ -22,6 +22,7 @@ import com.microsoft.playwright.Request;
import com.microsoft.playwright.Route;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.Base64;
import java.util.LinkedHashMap;
@@ -61,7 +62,15 @@ public class RouteImpl extends ChannelOwner implements Route {
params.add("headers", Serialization.toProtocol(options.headers));
}
if (options.postData != null) {
String base64 = Base64.getEncoder().encodeToString(options.postData);
byte[] bytes = null;
if (options.postData instanceof byte[]) {
bytes = (byte[]) options.postData;
} else if (options.postData instanceof String) {
bytes = ((String) options.postData).getBytes(StandardCharsets.UTF_8);
} else {
throw new PlaywrightException("postData must be either String or byte[], found: " + options.postData.getClass().getName());
}
String base64 = Base64.getEncoder().encodeToString(bytes);
params.addProperty("postData", base64);
}
sendMessage("continue", params);