如何在 Paw 扩展中访问 XMLHttpRequest?

How to access XMLHttpRequest within a Paw extension?

我正在编写一个扩展以将我们的 API 推送回我们的服务器文档存储区 - 但似乎 XMLHttpRequest 不可用,可能是因为缺少 window 对象。

Paw 有替代方案吗?

附加问题:什么是 Paw 构建于其上,与浏览器相比,我们可以/不能访问什么?

实际的 XMLHttpRequest 在 Paw 中不可用,但我们有 NetworkHTTPRequest(文档 here)。

这是一个例子:

var httpRequest = new NetworkHTTPRequest();  httpRequest.requestUrl = "http://httpbin.org/post";
httpRequest.requestMethod = "POST";
httpRequest.setRequestHeader('Content-Type', 'application/json')
httpRequest.requestBody = JSON.stringify({
    name: 'Paw'
})
httpRequest.send()

console.log('HTTP ' + httpRequest.responseStatusCode)
var response = JSON.parse(httpRequest.responseBody)
console.log(JSON.stringify(response, null, 2));

为了回答奖励部分,Paw 是用 Objective-C 编写的本机 Cocoa 应用程序(C 中的极少数部分),但扩展使用 JavaScript 核心,它也是在 Mac 和 iOS 上为 Safari 提供动力的引擎。不过,它很简单 JavaScript 并且不会公开 Web 浏览器中可用的所有方法。它还支持一些 ES6 功能(参见 Safari 9 on the ECMAScript 6 compatibility table)。