Commit a708a09e by Demid Merzlyakov

Network requests logging per Ritesh's request.

parent 0b1f2688
......@@ -87,7 +87,7 @@ public class BlendHealthSource: HealthSource {
completion(nil, BlendHealthSourceError.badUrl)
return
}
log.debug("query params: \(queryParameters)")
log.debug("Network request (\(location)): \(url)")
var request = URLRequest(url: url)
var headers = request.allHTTPHeaderFields ?? [String: String]()
headers[BlendHealthSource.blendAPIKeyHeaderName] = BlendHealthSource.blendAPIKey
......@@ -98,9 +98,12 @@ public class BlendHealthSource: HealthSource {
let dataTask = urlSession.dataTask(with: request) { (data, reponse, error) in
// TODO: check response HTTP code
guard let data = data else {
self.log.debug("Network response (\(location)): error \(String(describing: error))")
completion(nil, BlendHealthSourceError.networkError(error))
return
}
let responseBodyString = String(data: data, encoding: .utf8) ?? "<couldn't show as string"
self.log.debug("Network response (\(location)): \(responseBodyString)")
let decoder = JSONDecoder()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
......
......@@ -93,7 +93,9 @@ public class NWSAlertsManager {
log.error("Couldn't create URLComponents from \(self.baseUrl)")
completion(nil, .badUrl)
fatalError("Should never happen. Couldn't create URL components from \(self.baseUrl). This URL has to always be correct.") // Should never happen, but a lot of stuff that should never happen happens from time to time, so let's at least handle it gracefully in prod.
#if !DEBUG
return
#endif
}
urlComponents.queryItems = params.map { URLQueryItem(name: $0, value: $1) }
......@@ -102,14 +104,18 @@ public class NWSAlertsManager {
completion(nil, .badUrl)
return
}
log.debug("Network request (\(location)): \(url)")
let urlSession = URLSession.shared
let dataTask = urlSession.dataTask(with: url) { [weak self] (data, response, error) in
guard let self = self else { return }
guard let data = data else {
self.log.debug("Network response (\(location)): error \(String(describing: error))")
completion(nil, .networkError(error))
return
}
let responseBodyString = String(data: data, encoding: .utf8) ?? "<couldn't show as string"
self.log.debug("Network response (\(location)): \(responseBodyString)")
let decoder = JSONDecoder()
decoder.dateDecodingStrategy = .formatted(self.currentEventsDateFormatter)
do {
......
......@@ -100,15 +100,18 @@ public class WdtWeatherSource: WeatherSource {
completion(nil, WdtWeatherSourceError.badUrl)
return
}
log.debug("query params: \(queryParameters)")
log.debug("Network request (\(location)): \(url)")
let urlSession = URLSession.shared
let dataTask = urlSession.dataTask(with: url) { [weak self] (data, reponse, error) in
guard let self = self else { return }
guard let data = data else {
self.log.debug("Network response (\(location)): error \(String(describing: error))")
completion(nil, WdtWeatherSourceError.networkError(error))
return
}
let responseBodyString = String(data: data, encoding: .utf8) ?? "<couldn't show as string"
self.log.debug("Network response (\(location)): \(responseBodyString)")
let decoder = XMLDecoder()
do {
let locationResponse = try decoder.decode(WdtLocationResponse.self, from: data)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment