From b7c0891e4eb272d7fafeddaee8c359d5d74487f7 Mon Sep 17 00:00:00 2001 From: Fernando Paredes Date: Thu, 17 Dec 2015 22:00:45 -0800 Subject: [PATCH] Update NSURLSession function in README --- README.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index ea23352a..a487bcca 100644 --- a/README.md +++ b/README.md @@ -244,16 +244,21 @@ And what if you need to create your own observable? It's pretty easy. This code ```swift extension NSURLSession { - public func rx_response(request: NSURLRequest) -> Observable<(NSData!, NSURLResponse!)> { + public func rx_response(request: NSURLRequest) -> Observable<(NSData, NSURLResponse)> { return create { observer in let task = self.dataTaskWithRequest(request) { (data, response, error) in - if data == nil || response == nil { - observer.on(.Error(error ?? UnknownError)) + guard let response = response, data = data else { + observer.on(.Error(error ?? RxCocoaURLError.Unknown)) + return } - else { - observer.on(.Next(data, response)) - observer.on(.Completed) + + guard let httpResponse = response as? NSHTTPURLResponse else { + observer.on(.Error(RxCocoaURLError.NonHTTPResponse(response: response))) + return } + + observer.on(.Next(data, httpResponse)) + observer.on(.Completed) } task.resume()