diff --git a/SodaLive/Sources/Extensions/MoyaProviderExtension.swift b/SodaLive/Sources/Extensions/MoyaProviderExtension.swift new file mode 100644 index 0000000..6ab53cc --- /dev/null +++ b/SodaLive/Sources/Extensions/MoyaProviderExtension.swift @@ -0,0 +1,33 @@ +// +// 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, 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 + } + } +} +