Refactor getPosts() to use template request
This commit is contained in:
parent
f886886ade
commit
dc2f146ac5
|
@ -255,40 +255,27 @@ public class WFClient {
|
||||||
request.addValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
|
request.addValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
|
||||||
request.addValue(tokenToVerify, forHTTPHeaderField: "Authorization")
|
request.addValue(tokenToVerify, forHTTPHeaderField: "Authorization")
|
||||||
|
|
||||||
let dataTask = session.dataTask(with: request) { (data, response, error) in
|
get(with: request) { result in
|
||||||
// Something went wrong; return the error message.
|
switch result {
|
||||||
if let error = error {
|
case .success(let data):
|
||||||
completion(.failure(error))
|
do {
|
||||||
}
|
// The response is formatted differently depending on if we're getting user posts or collection
|
||||||
|
// posts,so we need to determine what kind of structure we're decoding based on the
|
||||||
if let response = response as? HTTPURLResponse {
|
// collectionAlias argument.
|
||||||
guard let data = data else { return }
|
if collectionAlias != nil {
|
||||||
|
let post = try self.decoder.decode(NestedPostsJson.self, from: data)
|
||||||
// If we get a 200 OK, return the WFUser as success; if not, return a WFError as failure.
|
completion(.success(post.data))
|
||||||
if response.statusCode == 200 {
|
} else {
|
||||||
do {
|
let post = try self.decoder.decode(ServerData<[WFPost]>.self, from: data)
|
||||||
// The response is formatted differently depending on if we're getting user posts or collection
|
completion(.success(post.data))
|
||||||
// posts,so we need to determine what kind of structure we're decoding based on the
|
|
||||||
// collectionAlias argument.
|
|
||||||
if collectionAlias != nil {
|
|
||||||
let post = try self.decoder.decode(NestedPostsJson.self, from: data)
|
|
||||||
completion(.success(post.data))
|
|
||||||
} else {
|
|
||||||
let post = try self.decoder.decode(ServerData<[WFPost]>.self, from: data)
|
|
||||||
completion(.success(post.data))
|
|
||||||
}
|
|
||||||
} catch {
|
|
||||||
completion(.failure(error))
|
|
||||||
}
|
}
|
||||||
} else {
|
} catch {
|
||||||
// We didn't get a 200 OK, so return a WFError.
|
|
||||||
guard let error = self.translateWFError(fromServerResponse: data) else { return }
|
|
||||||
completion(.failure(error))
|
completion(.failure(error))
|
||||||
}
|
}
|
||||||
|
case .failure(let error):
|
||||||
|
completion(.failure(error))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dataTask.resume()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Moves a post to a collection.
|
/// Moves a post to a collection.
|
||||||
|
|
Loading…
Reference in New Issue