// // MoyaProviderExtension.swift // SodaLive // // Created by klaus on 2023/11/17. // import Moya import Foundation extension MoyaProvider { convenience init() { var plugins: [PluginType] = [ AuthPlugin(), AcceptLanguagePlugin() ] #if DEBUG plugins.append(NetworkLoggerPlugin(configuration: .init(logOptions: [.requestHeaders]))) plugins.append(AcceptLanguageDebugLogger()) #endif self.init(plugins: plugins) } } final class AuthPlugin: PluginType { func didReceive(_ result: Result, target: TargetType) { switch result { case .success(let response): DEBUG_LOG("\(response.statusCode) \(response)") if response.statusCode == 401 { AppState.shared.setAppStep(step: .main) UserDefaults.reset() } break case .failure(_): break } } }