在 Netfox 和 Moya 中记录 HTTPBody
Posted
技术标签:
【中文标题】在 Netfox 和 Moya 中记录 HTTPBody【英文标题】:Logging HTTPBody in Netfox and Moya 【发布时间】:2017-10-31 14:16:23 【问题描述】:我目前在我的 ios 项目中使用 Moya。我尝试使用 Netfox 记录我的 HTTP 请求。
由于 Moya 是 Alamofire 的封装,我最终在URLSessionConfiguration
的protocolClasses
中使用NFXProtocol
创建了自定义Alamofire.SessionManager
。我成功收到了请求和响应的响应日志和标头,但总是错过请求正文。
我偶然发现了this fix on Netfox from 2015,但我不知道如何将它与 Moya 一起使用。有谁知道如何实现它?
提前致谢!
【问题讨论】:
你在 Moya 中检查过这个问题吗? github.com/Moya/Moya/issues @aldok 我做了,这个问题还没有列出来。 【参考方案1】:只需使用 Moya 的网络日志插件,它已经是 Moya 的一部分,只需连接它。您可以在实例化 Moya 提供程序时传递插件数组:
let plugins = [NetworkLoggerPlugin()]
let provider = MoyaProvider<MyNetworkApiService>(manager: manager, plugins: plugins)
要为开发启用日志记录并为发布构建禁用日志记录,您可以执行以下操作:
var plugins: [PluginType] = []
#if DEBUG
plugins.append(NetworkLoggerPlugin())
#endif
let provider = MoyaProvider<MyNetworkApiService>(manager: manager, plugins: plugins)
【讨论】:
以上是关于在 Netfox 和 Moya 中记录 HTTPBody的主要内容,如果未能解决你的问题,请参考以下文章