nord vpnnord vpn
Ad

Untitled

mail@pastecode.io avatar
unknown
swift
2 years ago
1.1 kB
0
Indexable
Never
class ApiManager {
    
    func getUsers<T:Decodable>(urlstr : String)-> Observable<T> {
        
        return Observable.create { observer in

        Observable.of(urlstr)
            .map{ str -> URL in
                return URL(string: str)!
            }
            .map { url in
                return URLRequest(url: url)
            }
            .flatMap{ request in
                return URLSession.shared.rx.response(request: request)
            }
            .filter({ (response: HTTPURLResponse, data: Data) in
//error is here: Type '()' cannot conform to 'ObservableConvertibleType'
                return 200..<300 ~= response.statusCode
            })
            .flatMap { _,data in
                do {
                    let users = try JSONDecoder().decode([Albums].self, from: data)
                    observer.onNext(users)
                }catch{
                    observer.onError(error)
                }
                observer.onCompleted()
            }
            
            return Disposables.create()
            
        }
    }
}

nord vpnnord vpn
Ad