Reqres 3.2.1

Reqres 3.2.1

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布日期最后发布日期2023年4月
SPM支持 SPM

维护者:Dominik AckeeJan MísařJakub OlejníkAckee Github



Reqres 3.2.1

  • Ackee

ackee|Reqres

Tests Version License Carthage Compatible Platform

Reqres 是一个简单的库,用于在应用程序中记录所有请求和响应。它支持 Alamofire 以及通过原生 NSURLSession 发出的请求。

⬆️ POST 'https://ackee.cz/examples'
Headers: [
    Accept-Encoding : gzip;q=1.0, compress;q=0.5
    Accept-Language : en-US;q=1.0
    Content-Type : application/json
    User-Agent : Reqres_Example/org.cocoapods.demo.Reqres-Example (1; OS Version 9.3 (Build 13E230))
    Content-Length : 13
]
Body: {
    "foo" : "bar"
}

...

⬇️ POST https://ackee.cz/examples (✅ 201 Created) [time: 0.54741 s]
Headers: [
    Vary : Authorization,Accept-Encoding
    Content-Encoding : gzip
    Content-Length : 13
    Server : Apache
    Content-Type : application/json
    Date : Mon, 05 Sep 2016 07:33:51 GMT
    Cache-Control : no-cache
]
Body: {
    "foo" : "bar"
}

安装

CocoaPods

Reqres 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:

pod "Reqres"

Carthage

您可以使用 Carthage。在 Cartfile 中指定

github "AckeeCZ/Reqres"

运行 carthage update 来构建框架并将构建的 Reqres.framework 拖放到您的 Xcode 项目中。遵循 构建说明新问题

使用方法

使用Alamofire和NSURLSession初始化有所不同。

Alamofire

创建适当的配置的SessionManager以与Alamofire一起使用。

let configuration = Reqres.defaultSessionConfiguration()
configuration.httpAdditionalHeaders = SessionManager.defaultHTTPHeaders
let alamofireManager = SessionManager(configuration: configuration)
Reqres.sessionDelegate = alamofireManager.delegate

然后您必须使用此管理器进行所有请求,因此将所有Alamofire.request(...)替换为alamofireManager.request(...)

不使用Alamofire的使用方法

在应用程序启动时注册Reqres,它将监控和记录您通过NSURLSession或NSURLConnection做出的任何请求。

Reqres.register()

定制

您可以做一些设置,使其满足您的要求。

自定义日志记录器

Reqres 使用默认的 print() 进行日志记录,以避免不必要的依赖,但它已经准备好支持任何日志框架。创建一个符合 ReqresLogging 协议的自定义日志记录器类,并将其设置为 Reqres,这样就可以了。

class MyLogger: ReqresLogging {
    ...
}

Reqres.logger = MyLogger()

日志级别

您可以使用 3 个不同的日志级别

  • - 适用于生产使用,完全禁用所有 Reqres 功能
  • - 只记录基本信息(方法、URL、状态码和时间)
⬆️ POST 'https://ackee.cz/examples'
...
⬇️ POST https://ackee.cz/examples (✅ 201 Created) [time: 0.54741 s]
  • 详细 - 还记录头部信息和正文内容(见上面的示例)

Reqres 默认使用 详细 日志级别。要更改日志级别,只需设置 Reqres.logger.logLevel 的正确值即可

表情符号

Reqres 使用表情符号来使日志更容易阅读,并使其至少有些有趣和优雅。当然,如果您不喜欢这样,您可以关闭它。

Reqres.allowUTF8Emoji = false

分叉此仓库

如果您在自己的项目中使用了 Reqres,请发推文给我们 @ackeecz。我们非常愿意听听您的想法!

关爱分享

在决定开源我们的内部项目时,我们将此工具和存储库在我们的#care-to-share操作中开源。

作者

Ackee团队。我们受到了andysmart的Timberjack的启发。

许可协议

Reqres在MIT许可下提供。有关更多信息,请参阅LICENSE文件。