Commit Graph

661 Commits

Author SHA1 Message Date
Jeff Arena
db0646ed19 Change NSNumber -> NSDate transformation to use doubleValue instead of intValue to ensure we do not lose precision on date conversion. Fixes #455. 2012-01-20 11:57:47 -05:00
Jeff Arena
507dfb0cfe Copy our requestQueue array prior to fast enumeration to ensure no mutations of the underlying array occur while we are looping 2012-01-20 11:52:37 -05:00
Jeff Arena
6e80ae62ae Fix for #486 2012-01-20 11:45:04 -05:00
Jeff Arena
dbb12b37a8 Fix a few issues with broken tests 2012-01-20 11:29:17 -05:00
Blake Watters
5a92a661a8 Fix spelling errors for Cacheing -> Caching 2012-01-20 10:21:56 -05:00
Blake Watters
4b46ada794 Copy the error mapping to the temporary mapping provider to ensure error handling is correct. 2012-01-20 10:21:56 -05:00
Blake Watters
d69adccdd6 Added block callback handlers and tests for RKObjectPaginator. 2012-01-20 10:21:56 -05:00
Blake Watters
1d27f7bbbe Refactored object manager API's to de-emphasize delegates and removal duplication of blocks and delegates. Added block callbacks to RKObjectLoader. 2012-01-20 10:21:56 -05:00
Blake Watters
4bd12ea987 Apply rootKeyPath within the mapper rather than the object loader 2012-01-20 10:21:19 -05:00
Blake Watters
7c5ad95816 Updated all example projects to reflect changes. 2012-01-20 10:21:19 -05:00
Blake Watters
560032fd6d Additional documentation and miscellaneous test coverage. 2012-01-20 10:21:19 -05:00
Blake Watters
7a1dfd0857 Added support for selecting object mapping using pattern matching on resourcePath. 2012-01-20 10:21:19 -05:00
Blake Watters
3a8221aa08 Added support for configuring and retrieving object mapping via resource path patterns. 2012-01-20 10:21:19 -05:00
Blake Watters
6abbb34ef0 Introduced mapping contexts support.
Extended RKObjectMappingProvider to store collections of object mappings for different use cases. The framework
now stores object mappings, serialization mappings, an error mapping and a pagination mapping using the context
support. Contexts can be added to the provider via method calls or extension via a category.
2012-01-20 10:21:19 -05:00
Blake Watters
31dcb31188 Authored full documentation for the RKURL class 2012-01-20 10:21:18 -05:00
Blake Watters
89b02e7550 Refactored paginator to use RKURL rather than relying on its own baseURL and resource path. Expanded paginator documentation. 2012-01-20 10:21:18 -05:00
Blake Watters
415ef5a193 Cleaned up all broken specs related to RKObjectPaginator and RKURL changes 2012-01-20 10:21:18 -05:00
Blake Watters
412b0f9756 Work in progress on cleanup 2012-01-20 10:21:18 -05:00
Ray Fix
8ac6f66f99 Add an assert to prevent weird errors. 2012-01-20 10:21:18 -05:00
Ray Fix
ab3ec5495f Leaks brought to my attention by the static analyzer. 2012-01-20 10:21:18 -05:00
Ray Fix
3d03959d06 Polish RKObjectPaginator.
Initialization
I need the object paginator's object loaders to 
know about the various header settings of 
the RKClient when it constructs them.  However,
the paginator should not depend on an RKObjectManager.
The proposed solution is to pass a block that lets
an outsider custom configure the object loaders
that get created.  The object manager shows how
it is done.

Error Handling
We don't want to have a separate set of error handling
if using a paginator versus using an RKObjectLoader.
When an error is encountered, the paginator should 
allow access to the underlying RKObjectRequest that
produced the error.

Cleanup
The contained object loader needs to nil out the delegate
before going away.

NSLogs changed to RKLog

Pagination computation
The page count can be computed when the pagination 
parameters are mapped.  Note you must use the ceil
operation to compute this value.  If there are 3.1 pages
that means there are 4 pages.
2012-01-20 10:21:18 -05:00
Blake Watters
fb41eb73ec Work in progress on responsibility cleanup 2012-01-20 10:21:18 -05:00
Blake Watters
254553dc7c Initial implementation of RKObjectPaginator 2012-01-20 10:21:18 -05:00
Marlon Andrade
377d350259 adding treatment for dates before jan 1st 1970 2012-01-20 09:36:22 -05:00
Brian Morton
035e7732b8 Add RKRequestConnectionTimeoutError to throw when our connection timeout has been exceeded. 2012-01-20 09:20:09 -05:00
Brian Morton
90716335f5 Add support for timing out an RKRequest via a timeoutTimer and a timeout property.
* Add timeoutInterval property on RKRequest with a default value of 120.0
* Add timeout method that is called by the timer when the timeout interval has been exceeded to cancel the request and return an error via didFailLoadWithError:
* Add invalidateTimeoutTimer method that is called by RKResponse when the NSURLConnection begins receiving data.
* Add call to invalidateTimeoutTimer in RKRequest cancelAndInformDelegate: so we don't have a dangling timer.
* Add timer creation to sendAsynchronously and sendSynchronously
2012-01-20 09:19:45 -05:00
Brian Morton
8051fbd9ab Invalidate the RKRequest timer in RKResponse when the NSURLConnection begins receiving data. 2012-01-20 09:17:26 -05:00
Brian Morton
8946f4d702 Add timeoutInterval property to RKClient so that it can be passed on to RKRequest. 2012-01-20 09:17:16 -05:00
Brian Morton
dab403a9c1 Responsibly invalidate the timeoutTimer when the RKRequest is deallocated. Move location of timer creation for asynchronous request. 2012-01-20 09:17:00 -05:00
Brian Morton
15d05f1493 Move the invalidateTimeoutTimer call in RKResponse from didReceiveData to didReceiveResponse and didFailWithError so we are sure its always called and as early as possible. 2012-01-20 09:15:35 -05:00
Brian Morton
0f3f3d5702 Add support for mapping an array to an NSOrderedSet. 2012-01-13 00:04:40 -08:00
Ray Fix
7be7da61cb Fix for ocassional crashes using http basic auth 2012-01-09 20:10:39 -05:00
David Young-Chan Kay
6a18ebd91b RKRequest: Added null check for HTTP Basic username and password. Closes #493. 2012-01-09 20:08:26 -05:00
Blake Watters
89a4e579fd Revert "Merge branch 'nolanw-request-delegate-gets-failed-auth-challenge'"
This reverts commit d6510d963f, reversing
changes made to a1e2061106.
2012-01-09 19:53:23 -05:00
Blake Watters
4d99d28a4d Merge pull request #477 from rayfix/fix-log-root-key-path
Fixed logging of root key path on object mapping. Remove TODO comment.
2011-12-16 21:23:21 -08:00
chethan
ea0cbed8dc Fixed logging of root key path on object mapping. Remove TODO comment that is done. 2011-12-16 18:20:24 -08:00
Blake Watters
af7a7d22b6 Lowered logging level for body from Info to Debug 2011-12-15 13:41:00 -05:00
Blake Watters
e5e05a0563 Added delegate callback when authentication challenge fails. closes #462 2011-12-13 21:16:30 -05:00
Julien Grimault
a1e2061106 Modified asserts in RKObjectLoader processMappingResult to allow synchronous requests. 2011-12-13 20:58:15 -05:00
Blake Watters
4f24470d13 Merge pull request #465 from rayfix/url-encoding-fix
Encoded params from RKURLs getting extra 25's.
2011-12-13 15:02:37 -08:00
Matthias Bartelmeß
e123eaa5fb Updated RKResponse to respect the encoding returned in the Content-Type header (charset=XXX). Exposed
encoding information as methods on RKResponse
2011-12-13 17:03:31 -05:00
Blake Watters
5d8e62e6a5 Merge pull request #468 from rayfix/should-delete-orphans-451
Add Delegate for shouldDeleteOrphanedObject:
2011-12-13 12:42:06 -08:00
Ray Fix
21c3b6af39 Fix static analayzer warning for uninitialized variable 2011-12-13 15:33:14 -05:00
Blake Watters
4c8a7f1103 Merge pull request #470 from inquinity/master
Fixed: RKResponse parsedBody will fail when encountering a parsing error if it was called with a nil NSError pointer
2011-12-13 12:12:11 -08:00
Robert Altman
2969e6b9f3 Added missing non-null test for NSError pointer 2011-12-12 17:06:17 -06:00
Ray Fix
f23b242e87 First cut at issue 451, shouldDeleteOrphanedObject.
The test is currently failing and the 6 results are
returned instead of keeping alive only the original
4 result objects.  Requires further investigation.
2011-12-11 09:13:35 -08:00
Ray Fix
7eaa0bccfe Fix test failure. Encoded URLs getting extra 25's. 2011-12-09 18:18:08 -08:00
Blake Watters
4a45a15da1 Fixed nearly all broken tests for OS X target 2011-12-09 00:30:34 -05:00
Blake Watters
479864902b Fixed all build warnings on OS X Framework target 2011-12-08 23:23:20 -05:00
Nolan Waite
9cc6de8dc4 Request delegate can learn of authentication failures 2011-12-08 13:17:52 -07:00