A HTTP Client for iOS using Alamofire.
extension HTTPClient {
var defaultHttpHeaders: HTTPHeaders {
var headers = HTTPHeaders([])
if let token = UserInfoManager.token {
headers.add(name: "Authori-zation", value: token)
}
return headers
}
var defaultParameters: Parameters { return [:] }
var parameterEncoding: ParameterEncoding { return JSONEncoding.default }
// {"code": 0, "message": "SUCCESS", "data": {}}
var decodePath: String? {
return "data"
}
}
struct APIManager: HTTPClient {
var baseURL: URL {
return URL(string: "https://xxxxx/")!
}
}
struct YourRequest {
}
extension YourRequest: HTTPRequest {
typealias DecodableType = YourModel
var path: String { "web/home/list" }
var parameterEncoding: ParameterEncoding? { URLEncoding.default }
var parameters: Parameters? {
["userId": "xxx"]
}
}
let request1 = YourRequest()
let request2 = YourRequest()
async let response1 = APIManager().send(request1)
.serializingParsable(of: YourModel.self)
.response
async let response2 = APIManager().send(request2)
.serializingParsable(of: YourModel.self)
.response
let responses = await [response1, response2]
Using Swift Package Manager
import PackageDescription
let package = Package(
name: "MyAwesomeApp",
dependencies: [
.package(url: "https://github.com/douking/HTTPClient", from: "0.1.0"),
]
)
See LICENES file for more infomation.
link |
Stars: 0 |
Last commit: 7 weeks ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics