|
|
@@ -75,11 +75,12 @@ class DetailViewController: UITableViewController {
|
|
|
refreshControl?.beginRefreshing()
|
|
|
|
|
|
let start = CACurrentMediaTime()
|
|
|
- request.responseString { response in
|
|
|
+
|
|
|
+ let requestComplete: (HTTPURLResponse?, Result<String>) -> Void = { response, result in
|
|
|
let end = CACurrentMediaTime()
|
|
|
self.elapsedTime = end - start
|
|
|
|
|
|
- if let response = response.response {
|
|
|
+ if let response = response {
|
|
|
for (field, value) in response.allHeaderFields {
|
|
|
self.headers["\(field)"] = "\(value)"
|
|
|
}
|
|
|
@@ -88,7 +89,7 @@ class DetailViewController: UITableViewController {
|
|
|
if let segueIdentifier = self.segueIdentifier {
|
|
|
switch segueIdentifier {
|
|
|
case "GET", "POST", "PUT", "DELETE":
|
|
|
- self.body = response.result.value
|
|
|
+ self.body = result.value
|
|
|
case "DOWNLOAD":
|
|
|
self.body = self.downloadedBodyString()
|
|
|
default:
|
|
|
@@ -99,6 +100,16 @@ class DetailViewController: UITableViewController {
|
|
|
self.tableView.reloadData()
|
|
|
self.refreshControl?.endRefreshing()
|
|
|
}
|
|
|
+
|
|
|
+ if let request = request as? DataRequest {
|
|
|
+ request.responseString { response in
|
|
|
+ requestComplete(response.response, response.result)
|
|
|
+ }
|
|
|
+ } else if let request = request as? DownloadRequest {
|
|
|
+ request.responseString { response in
|
|
|
+ requestComplete(response.response, response.result)
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private func downloadedBodyString() -> String {
|