Commit a708a09e by Demid Merzlyakov

Network requests logging per Ritesh's request.

parent 0b1f2688
...@@ -87,7 +87,7 @@ public class BlendHealthSource: HealthSource { ...@@ -87,7 +87,7 @@ public class BlendHealthSource: HealthSource {
completion(nil, BlendHealthSourceError.badUrl) completion(nil, BlendHealthSourceError.badUrl)
return return
} }
log.debug("query params: \(queryParameters)") log.debug("Network request (\(location)): \(url)")
var request = URLRequest(url: url) var request = URLRequest(url: url)
var headers = request.allHTTPHeaderFields ?? [String: String]() var headers = request.allHTTPHeaderFields ?? [String: String]()
headers[BlendHealthSource.blendAPIKeyHeaderName] = BlendHealthSource.blendAPIKey headers[BlendHealthSource.blendAPIKeyHeaderName] = BlendHealthSource.blendAPIKey
...@@ -98,9 +98,12 @@ public class BlendHealthSource: HealthSource { ...@@ -98,9 +98,12 @@ public class BlendHealthSource: HealthSource {
let dataTask = urlSession.dataTask(with: request) { (data, reponse, error) in let dataTask = urlSession.dataTask(with: request) { (data, reponse, error) in
// TODO: check response HTTP code // TODO: check response HTTP code
guard let data = data else { guard let data = data else {
self.log.debug("Network response (\(location)): error \(String(describing: error))")
completion(nil, BlendHealthSourceError.networkError(error)) completion(nil, BlendHealthSourceError.networkError(error))
return return
} }
let responseBodyString = String(data: data, encoding: .utf8) ?? "<couldn't show as string"
self.log.debug("Network response (\(location)): \(responseBodyString)")
let decoder = JSONDecoder() let decoder = JSONDecoder()
let dateFormatter = DateFormatter() let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ" dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
......
...@@ -93,7 +93,9 @@ public class NWSAlertsManager { ...@@ -93,7 +93,9 @@ public class NWSAlertsManager {
log.error("Couldn't create URLComponents from \(self.baseUrl)") log.error("Couldn't create URLComponents from \(self.baseUrl)")
completion(nil, .badUrl) 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. 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 return
#endif
} }
urlComponents.queryItems = params.map { URLQueryItem(name: $0, value: $1) } urlComponents.queryItems = params.map { URLQueryItem(name: $0, value: $1) }
...@@ -102,14 +104,18 @@ public class NWSAlertsManager { ...@@ -102,14 +104,18 @@ public class NWSAlertsManager {
completion(nil, .badUrl) completion(nil, .badUrl)
return return
} }
log.debug("Network request (\(location)): \(url)")
let urlSession = URLSession.shared let urlSession = URLSession.shared
let dataTask = urlSession.dataTask(with: url) { [weak self] (data, response, error) in let dataTask = urlSession.dataTask(with: url) { [weak self] (data, response, error) in
guard let self = self else { return } guard let self = self else { return }
guard let data = data else { guard let data = data else {
self.log.debug("Network response (\(location)): error \(String(describing: error))")
completion(nil, .networkError(error)) completion(nil, .networkError(error))
return return
} }
let responseBodyString = String(data: data, encoding: .utf8) ?? "<couldn't show as string"
self.log.debug("Network response (\(location)): \(responseBodyString)")
let decoder = JSONDecoder() let decoder = JSONDecoder()
decoder.dateDecodingStrategy = .formatted(self.currentEventsDateFormatter) decoder.dateDecodingStrategy = .formatted(self.currentEventsDateFormatter)
do { do {
......
...@@ -100,15 +100,18 @@ public class WdtWeatherSource: WeatherSource { ...@@ -100,15 +100,18 @@ public class WdtWeatherSource: WeatherSource {
completion(nil, WdtWeatherSourceError.badUrl) completion(nil, WdtWeatherSourceError.badUrl)
return return
} }
log.debug("query params: \(queryParameters)") log.debug("Network request (\(location)): \(url)")
let urlSession = URLSession.shared let urlSession = URLSession.shared
let dataTask = urlSession.dataTask(with: url) { [weak self] (data, reponse, error) in let dataTask = urlSession.dataTask(with: url) { [weak self] (data, reponse, error) in
guard let self = self else { return } guard let self = self else { return }
guard let data = data else { guard let data = data else {
self.log.debug("Network response (\(location)): error \(String(describing: error))")
completion(nil, WdtWeatherSourceError.networkError(error)) completion(nil, WdtWeatherSourceError.networkError(error))
return return
} }
let responseBodyString = String(data: data, encoding: .utf8) ?? "<couldn't show as string"
self.log.debug("Network response (\(location)): \(responseBodyString)")
let decoder = XMLDecoder() let decoder = XMLDecoder()
do { do {
let locationResponse = try decoder.decode(WdtLocationResponse.self, from: data) 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