diff options
author | Omar Rizwan <omar@omar.website> | 2021-02-08 04:02:47 -0800 |
---|---|---|
committer | Omar Rizwan <omar@omar.website> | 2021-02-08 04:02:47 -0800 |
commit | 4fdcf4be9d1e85a42ff92e7583208c0e87245124 (patch) | |
tree | c7ed72b47571b7de82bfec72295d737be14913b9 /extension | |
parent | 7211a5fdead06a3c1b4cb15af7ce2cf883b19346 (diff) | |
download | TabFS-4fdcf4be9d1e85a42ff92e7583208c0e87245124.tar.gz TabFS-4fdcf4be9d1e85a42ff92e7583208c0e87245124.zip |
safari: successfully exchanges 1 req/resp over ws, then fails
Diffstat (limited to 'extension')
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 Binary files differindex 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 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 } })) |