feat: Add url passing to response validation methods
This commit is contained in:
parent
0803060787
commit
af73b2964f
|
|
@ -80,9 +80,9 @@ public extension ObservableType where Element == DataRequest {
|
|||
///
|
||||
/// - Parameter statusCodes: set of status codes to validate
|
||||
/// - Returns: Observable on self
|
||||
func validate(statusCodes: Set<Int>) -> Observable<Element> {
|
||||
func validate(statusCodes: Set<Int>, url: String? = nil) -> Observable<Element> {
|
||||
map { $0.validate(statusCode: statusCodes) }
|
||||
.catchAsRequestError()
|
||||
.catchAsRequestError(url: url)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -114,7 +114,8 @@ private extension ObservableType where Element == ServerResponse {
|
|||
|
||||
private extension ObservableType {
|
||||
|
||||
func catchAsRequestError(with request: DataRequest? = nil) -> Observable<Element> {
|
||||
func catchAsRequestError(with request: DataRequest? = nil,
|
||||
url: String? = nil) -> Observable<Element> {
|
||||
self.catch { error in
|
||||
let resultError: RequestError
|
||||
let response = request?.data
|
||||
|
|
|
|||
|
|
@ -117,7 +117,8 @@ public extension Reactive where Base: SessionManager {
|
|||
}
|
||||
|
||||
return requestObservable
|
||||
.validate(statusCodes: self.base.acceptableStatusCodes.union(additionalValidStatusCodes))
|
||||
.validate(statusCodes: self.base.acceptableStatusCodes.union(additionalValidStatusCodes),
|
||||
url: url.absoluteString)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -191,7 +192,8 @@ public extension Reactive where Base: SessionManager {
|
|||
|
||||
return self.upload(data, urlRequest: urlRequest)
|
||||
.map { $0 as DataRequest }
|
||||
.validate(statusCodes: self.base.acceptableStatusCodes.union(additionalValidStatusCodes))
|
||||
.validate(statusCodes: self.base.acceptableStatusCodes.union(additionalValidStatusCodes),
|
||||
url: try? requestParameters.url.asURL().absoluteString)
|
||||
.flatMap {
|
||||
$0.rx.apiResponse(mappingQueue: self.base.mappingQueue, decoder: decoder)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue