¿Cómo get error statusCode de `MoyaError`?

Estoy usando un Moya , Moya_ModelMapper y RxSwift para realizar requestes de networking. Aquí está mi código de ejemplo:

 let provider = RxMoyaProvider<MyEndpoint>() let observable: Observable<RegistrationResponse> = provider.request(.register(firstName: "", lastName: "", email: "", password: "")).mapObject(type: RegistrationResponse.self) observable.subscribe { [weak self] (event: Event<RegistrationResponse>) in switch event { case .next(let response): print(response) case .error(let error): print(error) case .completed: break } } 

Todo funciona bien, pero no sé cómo get un código de error cuando recibo, por ejemplo, un tipo de respuesta de código de estado 409 del server. Si imprimo el error obtendré:

jsonMapping(Status Code: 409, Data Length: 0)

pero no sé cómo get este código de estado por código. El error es MoyaError que es un tipo Enum. Aquí es un código fuente de MoyaError.

¡Gracias!

Migración del comentario

Un error Moya no contiene un código de error directamente, sí contienen MoyaResponses que a su vez contienen el código de error.

Primer caso, el error como MoyaError

 let moyaError: MoyaError? = error as? MoyaError 

El MoyaError opcional contendrá una respuesta opcional, utilizando el encadenamiento opcional que obtenemos:

 let response : Response? = moyaError?.response 

Por último, podemos get la respuesta de su código de estado.

 let statusCode : int? = response?.statusCode