34 lines
		
	
	
		
			708 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			708 B
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  MoyaProviderExtension.swift
 | 
						|
//  SodaLive
 | 
						|
//
 | 
						|
//  Created by klaus on 2023/11/17.
 | 
						|
//
 | 
						|
 | 
						|
import Moya
 | 
						|
import Foundation
 | 
						|
 | 
						|
extension MoyaProvider {
 | 
						|
    convenience init() {
 | 
						|
        self.init(plugins: [AuthPlugin()])
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
final class AuthPlugin: PluginType {
 | 
						|
    func didReceive(_ result: Result<Response, MoyaError>, 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
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 |