¿Cómo depuramos la solicitud que se establece en los servidores backend?
Me gustaría poder ver exactamente o imprimir la solicitud completa con los parámetros de los encabezados, etc... que se envía a los servidores cada vez que Moya realiza una solicitud.
Se hace activando un plugin que Moya ya tiene. es NetworkLoggerPlugin . Necesito cambiar esta línea de código:
var provider = MoyaProvider<MainAPI>()con:
var provider = MoyaProvider<MainAPI>(plugins: [NetworkLoggerPlugin(verbose: true)])MOYA >= 14
let plugin: PluginType = NetworkLoggerPlugin(configuration: .init(logOptions: .verbose)) let provider = MoyaProvider<T>(plugins: [plugin])Gracias a @Anbu.Karthik
A partir de Moya 14.0, debe hacer esto:
let loggerConfig = NetworkLoggerPlugin.Configuration(logOptions: .verbose) let networkLogger = NetworkLoggerPlugin(configuration: loggerConfig) let provider = MoyaProvider<YourAPI>(plugins: [networkLogger])Si usa Moya desde 14, puede crear su propio complemento detallado, como este:
struct VerbosePlugin: PluginType { let verbose: Bool func prepare(_ request: URLRequest, target: TargetType) -> URLRequest { #if DEBUG if let body = request.httpBody, let str = String(data: body, encoding: .utf8) { print("request to send: \(str))") } #endif return request } } y use: let provider = MoyaProvider<AuthService>(plugins: [VerbosePlugin(verbose: true)])