// // AppDelegate.swift // Gemini // // Created by Shadowfacts on 7/12/20. // import Cocoa import SwiftUI import GeminiProtocol @NSApplicationMain class AppDelegate: NSObject, NSApplicationDelegate { var window: NSWindow! var task: GeminiDataTask! let url = URL(string: "gemini://localhost:1965/overview.gmi")! func applicationDidFinishLaunching(_ aNotification: Notification) { // Create the SwiftUI view that provides the window contents. let contentView = ContentView() // Create the window and set the content view. window = NSWindow( contentRect: NSRect(x: 0, y: 0, width: 480, height: 300), styleMask: [.titled, .closable, .miniaturizable, .resizable, .fullSizeContentView], backing: .buffered, defer: false) window.isReleasedWhenClosed = false window.center() window.setFrameAutosaveName("Main Window") window.contentView = NSHostingView(rootView: contentView) window.title = "Gemini" window.makeKeyAndOrderFront(nil) task = try! GeminiDataTask(url: url, completion: { (result) in switch result { case let .success(response): print("Received response header: \(response.header)") print("Received data: \(String(describing: response.body))") print(response.bodyText.debugDescription) case let .failure(error): print("Error: \(error)") } }) task.resume() } func applicationWillTerminate(_ aNotification: Notification) { // Insert code here to tear down your application } }