Skip to content

Instantly share code, notes, and snippets.

@alexbaramilis
Created May 4, 2019 11:17
Show Gist options
  • Save alexbaramilis/ab0637ce1b7465c5c2e4101e5f6fa5d7 to your computer and use it in GitHub Desktop.
Save alexbaramilis/ab0637ce1b7465c5c2e4101e5f6fa5d7 to your computer and use it in GitHub Desktop.
Air by Propeller API with Moya.
import Foundation
import Moya
enum PropellerAPI {
case forecast(lat: Double, lon: Double)
}
extension PropellerAPI: TargetType {
var baseURL: URL {
return URL(string: "https://open.propellerhealth.com/prod")!
}
var path: String {
switch self {
case .forecast: return "/forecast"
}
}
var method: Moya.Method {
switch self {
case .forecast: return .get
}
}
var sampleData: Data {
return Data()
}
var task: Task {
switch self {
case let .forecast(lat, lon):
let parameters = [
"latitude": String(lat),
"longitude": String(lon)
]
return .requestParameters(parameters: parameters,
encoding: URLEncoding.default)
}
}
var headers: [String : String]? {
return nil
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment