Files
Zockerhoehle/Zockerhoehle/Utils/FlockeConnector.swift
Dr. Julian-Steffen Müller 7543748025 Current transformation stage
2019-07-12 12:59:42 +02:00

46 lines
1.4 KiB
Swift

//
// FlockeConnector.swift
// Zockerhoehle
//
// Created by Julian-Steffen Müller on 29.10.18.
// Copyright © 2018 Julian-Steffen Müller. All rights reserved.
//
import Foundation
class FlockeConnector {
let flockeURL : URL?
let bodyDict : NSDictionary?
let requestType : String
let completionHandler : (Data?, URLResponse?, Error?) -> Void
init(url : String, requestType : String = "GET", bodyDict : NSDictionary?, _ completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) {
self.flockeURL = URL.init(string: url)
self.bodyDict = bodyDict
self.requestType = requestType
self.completionHandler = completionHandler
}
func doRequest() {
guard let url = self.flockeURL else {
print("DO Request: Creating URL fails")
return
}
do {
let requestBodyJSON = try JSONSerialization.data(withJSONObject: self.bodyDict!)
var req = URLRequest.init(url: url)
req.httpMethod = self.requestType
req.httpBody = requestBodyJSON
req.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
URLSession.shared.dataTask(with: req, completionHandler: self.completionHandler).resume()
}catch {
print("Cannot convert to JSON")
return
}
}
}