Nova Pages probe

Checks whether a Cloudflare Pages Function can do what Nova's Worker needs. Build nova-pages-probe/1. Test the WebSocket separately at /ws.

infopass
{
  "build": "nova-pages-probe/1",
  "userAgent": "Cloudflare-Workers",
  "colo": "CMH",
  "country": "US",
  "httpProtocol": "HTTP/2",
  "tlsVersion": "TLSv1.3",
  "bindings": {
    "ASSETS": "Fetcher",
    "CF_PAGES": "string",
    "CF_PAGES_BRANCH": "string",
    "CF_PAGES_COMMIT_SHA": "string",
    "CF_PAGES_URL": "string"
  },
  "nodejsCompat": "Buffer present",
  "hasWebSocketPair": true,
  "hasConnect": true,
  "hasCachesDefault": true
}
tcpfail
{
  "ok": false,
  "target": "example.com:80",
  "tls": false,
  "ms": 27,
  "error": "Stream was cancelled."
}
tlsfail
{
  "ok": false,
  "target": "example.com:443",
  "tls": true,
  "ms": 27,
  "error": "Stream was cancelled."
}
limitspass
{
  "cpuMs": 0,
  "checksum": 8999994,
  "subrequests": 6,
  "subrequestMs": 393,
  "subError": null
}
websocketpass
{
  "ok": true,
  "note": "constructor visible here; connect a client to /ws to prove the upgrade"
}