summaryrefslogtreecommitdiff
path: root/extension/safari
diff options
context:
space:
mode:
authorOmar Rizwan <omar@omar.website>2021-02-08 04:02:47 -0800
committerOmar Rizwan <omar@omar.website>2021-02-08 04:02:47 -0800
commit4fdcf4be9d1e85a42ff92e7583208c0e87245124 (patch)
treec7ed72b47571b7de82bfec72295d737be14913b9 /extension/safari
parent7211a5fdead06a3c1b4cb15af7ce2cf883b19346 (diff)
downloadTabFS-4fdcf4be9d1e85a42ff92e7583208c0e87245124.tar.gz
TabFS-4fdcf4be9d1e85a42ff92e7583208c0e87245124.zip
safari: successfully exchanges 1 req/resp over ws, then fails
Diffstat (limited to 'extension/safari')
-rw-r--r--extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift14
-rw-r--r--extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstatebin58463 -> 58335 bytes
-rw-r--r--extension/safari/TabFS/TabFSService/TabFSService.swift7
3 files changed, 12 insertions, 9 deletions
diff --git a/extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift b/extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift
index a1ae4ff..e5a7b51 100644
--- a/extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift
+++ b/extension/safari/TabFS/TabFS Extension/SafariWebExtensionHandler.swift
@@ -38,13 +38,13 @@ class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling {
// need this one XPC call to actually initialize the service
service?.upperCaseString("hello XPC") { response in
os_log(.default, "Response from XPC service: %{public}@", response)
- }
-
- // FIXME: report port back?
- let response = NSExtensionItem()
- response.userInfo = [ "message": [ "aResponse to": "moop" ] ]
- context.completeRequest(returningItems: [response]) { (what) in
- print(what)
+
+ // FIXME: report port back?
+ let response = NSExtensionItem()
+ response.userInfo = [ "message": [ "aResponse to": "moop" ] ]
+ context.completeRequest(returningItems: [response]) { (what) in
+ print(what)
+ }
}
return
diff --git a/extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstate b/extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstate
index 93b8259..83f9da6 100644
--- a/extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstate
+++ b/extension/safari/TabFS/TabFS.xcodeproj/project.xcworkspace/xcuserdata/osnr.xcuserdatad/UserInterfaceState.xcuserstate
Binary files differ
diff --git a/extension/safari/TabFS/TabFSService/TabFSService.swift b/extension/safari/TabFS/TabFSService/TabFSService.swift
index e49d80f..87321c1 100644
--- a/extension/safari/TabFS/TabFSService/TabFSService.swift
+++ b/extension/safari/TabFS/TabFSService/TabFSService.swift
@@ -34,7 +34,6 @@ class TabFSService: NSObject, TabFSServiceProtocol {
var ws: NWListener!
func startWs() {
- // websocket server
let port = NWEndpoint.Port(rawValue: 9991)!
let parameters = NWParameters(tls: nil)
parameters.allowLocalEndpointReuse = true
@@ -56,9 +55,13 @@ class TabFSService: NSObject, TabFSServiceProtocol {
var handleRequest: ((_ req: Data) -> Void)?
ws.newConnectionHandler = { conn in
conn.start(queue: .main)
+
handleRequest = { req in
- conn.send(content: req, completion: .contentProcessed({ err in
+ let metaData = NWProtocolWebSocket.Metadata(opcode: .text)
+ let context = NWConnection.ContentContext(identifier: "context", metadata: [metaData])
+ conn.send(content: req, contentContext: context, completion: .contentProcessed({ err in
if err != nil {
+ os_log(.default, "%{public}@ error: %{public}@", String(data: req, encoding: .utf8) as! CVarArg, err!.debugDescription as CVarArg)
// FIXME: ERROR
}
}))