mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-10-26 10:31:17 +00:00
Improve error handling in sendPageRPC and getEvaluatedValue
Refactored sendPageRPC to better handle error responses and log error descriptions from the response object. Updated getEvaluatedValue to safely access the evaluated value, returning an empty string if not present. Bumped VERSIONINFO to 0.5.1.
This commit is contained in:
parent
665642586b
commit
1533059e44
|
|
@ -422,13 +422,13 @@ var ChromeObject = function() {
|
|||
};
|
||||
|
||||
this.sendPageRPC = function(method, params) {
|
||||
var result = null;
|
||||
var response = null;
|
||||
|
||||
try {
|
||||
if (this.pageId != "") {
|
||||
var url = "http://localhost:3000/devtools/page/" + this.pageId + "?port=" + this.debuggingPort;
|
||||
try {
|
||||
result = HTTP.create()
|
||||
response = HTTP.create()
|
||||
.setContentType("application/json")
|
||||
.setDataType("json")
|
||||
.open("POST", url)
|
||||
|
|
@ -440,9 +440,18 @@ var ChromeObject = function() {
|
|||
.send()
|
||||
.responseBody
|
||||
;
|
||||
|
||||
// response if error
|
||||
if ("result" in response) {
|
||||
(function(r) {
|
||||
if ("subtype" in r && r.subtype == "error") {
|
||||
console.warn("[WebBrowser]", r.description);
|
||||
}
|
||||
})(response.result.result);
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn(e.message);
|
||||
result = {};
|
||||
response = {};
|
||||
}
|
||||
|
||||
pageEventId.set(pageEventId.get() + 1);
|
||||
|
|
@ -450,7 +459,7 @@ var ChromeObject = function() {
|
|||
} else {
|
||||
this.setPageId(null);
|
||||
if (this.pageId != "") {
|
||||
result = this.sendPageRPC(method, params);
|
||||
response = this.sendPageRPC(method, params);
|
||||
} else {
|
||||
console.error("Page not found");
|
||||
}
|
||||
|
|
@ -459,7 +468,7 @@ var ChromeObject = function() {
|
|||
console.log("ChromeObject.sendPageRPC() ->", e.message);
|
||||
}
|
||||
|
||||
return result;
|
||||
return response;
|
||||
};
|
||||
|
||||
this.navigate = function(url) {
|
||||
|
|
@ -495,7 +504,9 @@ var ChromeObject = function() {
|
|||
this.getEvaluatedValue = function(expression) {
|
||||
try {
|
||||
var response = this.evaluate(expression);
|
||||
return response.result.result.value;
|
||||
return (function(r) {
|
||||
return ("value" in r ? r.value : "");
|
||||
})(response.result.result);
|
||||
} catch (e) {
|
||||
console.error("ChromeObject.getEvaluatedValue() ->", e.message);
|
||||
return "";
|
||||
|
|
@ -1493,7 +1504,7 @@ exports.startDebugInPrivate = function(url, proxy, profileName, debuggingPort, i
|
|||
|
||||
exports.publisherName = publisherName;
|
||||
|
||||
exports.VERSIONINFO = "Chrome Web Browser Debugging Interface (chrome.js) version 0.5";
|
||||
exports.VERSIONINFO = "Chrome Web Browser Debugging Interface (chrome.js) version 0.5.1";
|
||||
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||
exports.global = global;
|
||||
exports.require = global.require;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user