Я создал функцию для доступа к методам API и использую ее весь проект.Эта функция работала идеально, но теперь, когда я использую эту функцию, максимальное время запроса занимает больше времени, и я получаю время ожидания запроса (только когда я подключен только к Wi-Fi).Я не уверен, что это бэкэнд или мой код.
// MARK: Calling Web services
class func callWebServices(url: String, methodName: String, parameters: String, showLoader: Bool, completion: @escaping CompletionHandler) {
var url_param = url
if showLoader {
KVNProgress.show()
}
if(methodName == "GET" && parameters != "") {
url_param = url_param + "?" + parameters
}
var request = URLRequest(url: URL(string: url_param)!)
request.httpMethod = methodName
if(methodName == "POST" && parameters != "") {
let postString = parameters
request.httpBody = postString.data(using: .utf8)
}
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
guard let data = data, error == nil else {
print("error = \(String(describing: error))")
return
}
if let httpsStatus = response as? HTTPURLResponse, httpsStatus.statusCode != 200 {
print("Status Code should be 200, but it is \(httpsStatus.statusCode)")
print("response = \(String(describing: response))")
}
do {
let dictData = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as! NSDictionary
DispatchQueue.main.async {
print("Json Result :\(dictData)")
KVNProgress.dismiss()
completion(dictData)
}
} catch {
KVNProgress.dismiss()
print("error is : \(error)")
}
}
task.resume()
}