|
@@ -0,0 +1,97 @@
|
|
|
+//
|
|
|
+// ServiceCom.swift
|
|
|
+// ZeroTier One
|
|
|
+//
|
|
|
+// Created by Grant Limberg on 5/16/16.
|
|
|
+// Copyright © 2016 ZeroTier, Inc. All rights reserved.
|
|
|
+//
|
|
|
+
|
|
|
+import Cocoa
|
|
|
+
|
|
|
+class ServiceCom: NSObject {
|
|
|
+ static let baseURL = "http://localhost:9993"
|
|
|
+ static var key: NSString? = "ddeb3b1e6996b6b4f2d12d10"
|
|
|
+
|
|
|
+ static func getNetworkList() {
|
|
|
+
|
|
|
+ let urlString = baseURL + "/network?auth=\(ServiceCom.key!)"
|
|
|
+
|
|
|
+ let url = NSURL(string: urlString)
|
|
|
+
|
|
|
+ if let u = url {
|
|
|
+ let request = NSMutableURLRequest(URL: u)
|
|
|
+ let session = NSURLSession.sharedSession()
|
|
|
+ let task = session.dataTaskWithRequest(request) { (data, response, error) in
|
|
|
+ let httpResponse = response as! NSHTTPURLResponse
|
|
|
+ let status = httpResponse.statusCode
|
|
|
+
|
|
|
+ if status == 200 {
|
|
|
+ do {
|
|
|
+ let json = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions())
|
|
|
+ print("\(json)")
|
|
|
+ }
|
|
|
+ catch {
|
|
|
+ print("JSON Error: \(error)")
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ task.resume()
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ print("bad URL")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ static func joinNetwork(network: String) {
|
|
|
+ let urlString = baseURL + "/network/\(network)?auth=\(ServiceCom.key!)"
|
|
|
+ let url = NSURL(string: urlString)
|
|
|
+
|
|
|
+ if let u = url {
|
|
|
+ let request = NSMutableURLRequest(URL: u)
|
|
|
+ request.HTTPMethod = "POST"
|
|
|
+
|
|
|
+ let session = NSURLSession.sharedSession()
|
|
|
+ let task = session.dataTaskWithRequest(request) { (data, response, error) in
|
|
|
+ let httpResponse = response as! NSHTTPURLResponse
|
|
|
+ let status = httpResponse.statusCode
|
|
|
+
|
|
|
+ if status == 200 {
|
|
|
+ print("join ok")
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ print("join error: \(status)")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ task.resume()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ static func leaveNetwork(network: String) {
|
|
|
+ let urlString = baseURL + "/network/\(network)?auth=\(ServiceCom.key!)"
|
|
|
+ let url = NSURL(string: urlString)
|
|
|
+
|
|
|
+ if let u = url {
|
|
|
+ let request = NSMutableURLRequest(URL: u)
|
|
|
+ request.HTTPMethod = "DELETE"
|
|
|
+
|
|
|
+ let session = NSURLSession.sharedSession()
|
|
|
+ let task = session.dataTaskWithRequest(request) { (data, response, error) in
|
|
|
+ let httpResponse = response as! NSHTTPURLResponse
|
|
|
+ let status = httpResponse.statusCode
|
|
|
+
|
|
|
+ if status == 200 {
|
|
|
+ print("leave ok")
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ print("leave error: \(status)")
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ task.resume()
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|