init?()

in Sources/UberAuth/Errors/UberAuthError.swift [91:120]


    init?(_ response: HTTPURLResponse) {
        
        // Only return errors for failed status codes
        switch response.statusCode {
        case (0 ..< 300):
            return nil
        default:
            break
        }
        
        guard let url = response.url else {
            self = .oAuth(.invalidRequest)
            return
        }
        
        guard let components = URLComponents(url: url, resolvingAgainstBaseURL: false) else {
            self = .oAuth(.invalidRequest)
            return
        }
        
        // Check for error url query parameter
        guard let queryItems = components.queryItems,
              let errorString = queryItems.first(where: { $0.name == "error" })?.value,
              let error = OAuthError(rawValue: errorString) else {
            self = .oAuth(.invalidRequest)
            return
        }
        
        self = .init(error: error)
    }