Last active
April 7, 2016 18:19
-
-
Save flandy84/727a0bc895b7003fa6cadb101b59b30a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func performRequestWithUsername(username: String, password: String) { | |
let loginRequest = LoginRequest(userId: username, password: password) | |
let json = loginRequest.toJSON() | |
let urlRequest = NSMutableURLRequest( URL: NSURL(string: "https://SWIFT-WEBSERVICE-URL/login")!, | |
cachePolicy: .ReloadIgnoringLocalCacheData, | |
timeoutInterval: 60) | |
urlRequest.HTTPMethod = "POST" | |
urlRequest.setValue("application/json", forHTTPHeaderField: "Content-Type") | |
urlRequest.HTTPBody = try? json.rawData() | |
let requestTask = NSURLSession.sharedSession().dataTaskWithRequest(urlRequest) { | |
(data: NSData?, responseHeader: NSURLResponse?, error: NSError?) -> Void in | |
dispatch_async(dispatch_get_main_queue()) { | |
if let err = error { // NO response available | |
self.backendTV.text = "update error: \(err)" | |
}else{ //response available | |
let serverResponseStatusCode = (responseHeader as! NSHTTPURLResponse).statusCode | |
switch serverResponseStatusCode{ | |
case 200: //STATUS_OK | |
let json = JSON(data: data ?? NSData()) | |
let loginResponse = LoginResponse(json: json) | |
self.backendTV.text = loginResponse.text | |
//expected JSON-response structure | |
// { | |
// "user":{ | |
// "text" : "530", | |
// } | |
// } | |
default: | |
self.backendTV.text = "\(responseHeader) \n StatusCode: \(serverResponseStatusCode)" | |
} | |
} | |
} | |
} | |
requestTask.resume() | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment