🌐🚜 (Combine)HTTPClient

Swift 6.0 Swift Package Manager @_marinofelipe

构建于 URLSession 之上的简单 HTTPClient。

动机

有很多很棒的开源和社区驱动的第三方网络库,例如 MoyaAlamofire。它们非常强大,可以加速开发,并在各种更复杂的网络方面为您提供帮助。

对于某些用例,我更喜欢更简单的东西,而不需要依赖另一个第三方依赖项。 并且更多地了解网络也很有趣 😝。

这个项目是一个关于如何封装 URLSession 并提供易于使用但仍然健壮且经过良好测试的 API 的示例相同的概念可以应用于任何其他 SDK,即使在使用第三方库时也是如此,因为不要将此类逻辑暴露给外部世界始终是一个好习惯,这使得将来维护和更换实现变得更加容易。

内容

它带有以下一系列库:[HTTPClient, CombineHTTPClient, CombineHTTPClientTestSupport]

如何使用它们的示例可以在单元测试中找到 😉。 两个客户端都依赖于 HTTPClientCore,其中包含共享的助手和通用类型。

安装

Swift 包管理器

如果您想在使用了 SPM 的项目中试用它,只需将其作为 dependency 添加到您的 Package.swift

dependencies: [
  .package(url: "https://github.com/marinofelipe/http_client.git", from: "0.0.1")
]

许可证

所有模块均在 MIT 许可证下发布。 有关详细信息,请参见 LICENSE