Skip to content

Commit

Permalink
Merge branch 'master' of github.com:koogawa/FoursquareAPIClient
Browse files Browse the repository at this point in the history
  • Loading branch information
koogawa committed Mar 30, 2019
2 parents 2add235 + 015269a commit de31316
Showing 1 changed file with 8 additions and 21 deletions.
29 changes: 8 additions & 21 deletions FoursquareAPIClient/FoursquareAPIClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,6 @@ public enum HTTPMethod: String {
case post = "POST"
}

public enum Result<T, Error> {
case success(T)
case failure(Error)

init(value: T) {
self = .success(value)
}

init(error: Error) {
self = .failure(error)
}
}

public enum FoursquareClientError: Error {
case connectionError(Error)
case responseParseError(Error)
Expand Down Expand Up @@ -140,16 +127,16 @@ public class FoursquareAPIClient {
data, response, error in
switch (data, response, error) {
case (_, _, let error?):
completion(Result(error: .connectionError(error)))
completion(.failure(.connectionError(error)))
case (let data?, let response?, _):
if case (200..<300)? = (response as? HTTPURLResponse)?.statusCode {
completion(Result(value: data))
completion(.success(data))
} else {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
completion(Result(error: .apiError(FoursquareAPIError(json: json))))
completion(.failure(.apiError(FoursquareAPIError(json: json))))
} catch {
completion(Result(error: .responseParseError(error)))
completion(.failure(.responseParseError(error)))
}
}
default:
Expand Down Expand Up @@ -211,16 +198,16 @@ public class FoursquareAPIClient {
data, response, error in
switch (data, response, error) {
case (_, _, let error?):
completion(Result(error: .connectionError(error)))
completion(.failure(.connectionError(error)))
case (let data?, let response?, _):
if case (200..<300)? = (response as? HTTPURLResponse)?.statusCode {
completion(Result(value: data))
completion(.success(data))
} else {
do {
let json = try JSONSerialization.jsonObject(with: data, options: [])
completion(Result(error: .apiError(FoursquareAPIError(json: json))))
completion(.failure(.apiError(FoursquareAPIError(json: json))))
} catch {
completion(Result(error: .responseParseError(error)))
completion(.failure(.responseParseError(error)))
}
}
default:
Expand Down

0 comments on commit de31316

Please sign in to comment.