Commit Graph

70 Commits

Author SHA1 Message Date
Blake Watters
24c0a25519 Fix incorrect serialization of a single object inputted as an array. closes #1289 2013-03-20 10:39:14 -04:00
Blake Watters
f00e309619 Add conditional passing of parameters into the AFHTTPClient to support OAuth signing. fixes #1200 2013-03-09 23:48:01 -05:00
Blake Watters
5d31166509 Revert "Pass parameters into AFHTTPClient instance to help with OAuth signing. closes #1200"
This reverts commit 4634d66e53.
2013-03-09 23:43:00 -05:00
Blake Watters
4634d66e53 Pass parameters into AFHTTPClient instance to help with OAuth signing. closes #1200 2013-03-09 23:41:27 -05:00
Blake Watters
3e351509b3 Fix crash when accessing a named route with no object for interpolation 2013-01-25 17:27:38 -05:00
Blake Watters
0364d6c67b Integrate support for metadata mapping routing data. refs #1174 2013-01-24 23:16:48 -05:00
Blake Watters
7cca6891ce Unwind earlier fix for obtaining permanent objectID for targetObject in favor of the overridden setter on RKManagedObjectRequestOperation 2013-01-23 17:28:08 -05:00
Blake Watters
23ca0c7ca4 Fix potential crash due to serious Core Data error from failing to obtain a permanent objectID for an object that was just saved to the persistent store, but whose objectID is stale. fixes #1183 2013-01-23 13:20:55 -05:00
Blake Watters
bf521310b2 Replace visitor with simply obtaining permanent objectID's for temporary objects inserted into the context
The visitation implementation was problematic with large object graphs. This will obtain permanent objectID's for all temporary objects, but avoids having to visit each node in the graph.
2013-01-15 16:32:45 -05:00
Blake Watters
3e425707fb Fixed problems with initial implementation of temporary managed objects visitor. The implementation was under tested and only worked with a single relationship. refs #1001 2013-01-11 15:56:36 -05:00
Blake Watters
b61039c838 Use a visitor to identify all NSManagedObject instances being sent via the object manager which have a temporary managed object ID to avoid crashes during mapping. refs #1001 2013-01-09 21:11:38 -05:00
Blake Watters
4612121ae5 Unify RKHTTPRequestOperation and RKObjectRequestOperation subclass customization via registration API's. closes #1131 2013-01-08 21:33:45 -05:00
Blake Watters
70180022be Add support for customizing the RKObjectRequestOperation and RKManagedObjectRequestOperation instances built through the object manager using a registration API very similar to that of AFHTTPClient. closes #1131 2013-01-08 10:49:49 -05:00
Blake Watters
bf63a77bc1 Add support for parameterizing an array of objects. closes #398 2013-01-03 11:11:25 -05:00
Blake Watters
c06347d5c5 Add support for customizing the HTTP request operation class used by RKPaginator. closes #1067 2013-01-02 00:27:40 -05:00
Blake Watters
5c21e52829 Update Dynamic Mapping API's to match the rest of the 0.20.x style. Introduce support for predicate based dynamic matching.
* Rename RKDynamicMappingMatcher to RKObjectMappingMatcher since it is not strictly coupled to dynamic mapping and works with object mappings.
* Rework matchers into using a class cluster style to enable flexible subclassing to introduce additional matchers.
2012-12-27 22:16:40 -05:00
Blake Watters
bc719087ac Intelligently set the targetObject by exploring the mapping graph in appropriateObjectRequestOperationWithObject: to better support cases in which you POST/PUT one object, but map back another. fixes #1081 2012-12-23 00:26:33 -05:00
Blake Watters
b78deb3eed Use instancetype in constructors for increased subclassing friendliness 2012-12-22 14:54:49 -05:00
Blake Watters
929cd44bd7 Undo previous paginator change. Instead, pass a reference to the operation queue from the RKObjectManager to any Paginator objects constructed through the manager. refs #1076 2012-12-21 16:00:43 -05:00
Blake Watters
b9457ce65c Remove RKObjectManager specific value for the 'Accept' header and configure the header directly on the HTTP client instead. Register the AFJSONRequestOperation class in managerWithBaseURL:. Update documentation. 2012-12-11 21:24:22 -05:00
Blake Watters
3b5fe29e8b Fix incorrect consultation of containsEntityMapping rather than isManagedObjectRequestOperation 2012-12-09 23:55:40 -05:00
Blake Watters
b1f57612e1 Add support for replacing the HTTP client on the object manager and mutating the baseURL on the router. closes #1051 2012-12-07 13:49:18 -05:00
Blake Watters
997158e9e6 Fix issues with incorrect determination of the appropriate object request operation. fixes #1054, #1056
* Expands test coverage for the `appropriateObjectRequestOperationWithObject:method:path:parameters:`
* Uses an object graph visitor to completely navigate the mapping graph, ensuring that an `RKEntityMapping` appearing at any nesting level will be correctly handled
2012-12-07 12:40:02 -05:00
Sam Krishna
0210424c6c Added proper support for RKDynamicMapping as a container for RKEntityMappings inside of RKObjectManager. 2012-12-07 11:41:33 -05:00
Blake Watters
0aeb5f6de4 Restore paginator integration in Object Manager 2012-11-19 12:01:07 -05:00
Blake Watters
c5cdff950f Add NSParameterAssert guards for getObject:, postObject:, putObject:, patchObject:, and deleteObject: 2012-11-09 10:53:49 -05:00
Blake Watters
e85cf659c0 Improve Request Descriptor registration and lookup behaviors:
* Add assertion to object manager when you attempt to register an overlapping request descriptor
* Improve search algorithm to handle subclass matches
2012-11-05 23:10:57 -05:00
Blake Watters
e7505df56c Fix retain cycles detected by Xcode 4.6 static analyzer 2012-11-05 18:38:23 -05:00
Jeff Arena
2612604df3 Fix accept header issue with multipart requests. 2012-11-03 11:37:54 -04:00
Blake Watters
a3bef1699a Add missing assert message 2012-10-27 16:21:13 -04:00
Blake Watters
f4bfdb389b Add support for the registration of HTTP request operation subclasses on the manager to support easy customization of request operation handling. refs #997 2012-10-16 11:25:00 -04:00
Blake Watters
d6c429e735 Add tests clarifying issue regarding relativePath vs. relativeString. closes #996 2012-10-15 23:22:27 -04:00
Blake Watters
4ee29df72f Ensure cancellation works with path patterns against baseURL's that include a path 2012-10-14 15:32:08 -04:00
Blake Watters
66f0c34b5d Add conditional compilation for System Configuration header to avoid build error if SystemConfiguration is not pulled. refs #985 2012-10-06 00:07:38 -04:00
Blake Watters
a4a788b889 Wrap requestWithMethod:path:parameters: instead of reimplementing it. closes #959 2012-10-05 23:26:21 -04:00
Blake Watters
877ce255b5 Expand test coverage and fix situations where requests would unexpectedly initialize incorrectly without error
* RKObjectParameterization now returns an empty dictionary if mapping produces an unmappable representation error (no mappable attributes/relationships found)
* Log errors if request construction results in an NSError and return nil
* Ensure errors are passed back up through object parameterization instead of just returning nil
* Reset the serialization MIME Type registry during RKTestFactory set up to ensure it is in a sane state
* Convert Hamcrest matchers to Expecta in the object mapper tests to fix infinite recursion on test failure (will need to completely phase out Hamcrest soon)
2012-10-05 19:16:55 -04:00
Blake Watters
b9b34bf3dd FIx nasty problem with HTTP method being dropped from earlier headers cleanup 2012-10-05 16:54:30 -04:00
Blake Watters
635b6257d1 Expose default headers as a property and rework intiialization logic to respect the AFHTTPClient instance with which the object manager was initialized. Update docs to reflect the changes. Add tests for initialization code paths. 2012-10-05 14:24:32 -04:00
Blake Watters
25e1f9ed4d Don't send parameterization of the object with DELETE request's either. Update docs to reflect this. refs #947 2012-10-04 19:25:32 -04:00
Blake Watters
af234936ee Don't send object parameters when performing a getObject: closes #947 2012-10-04 19:20:58 -04:00
Blake Watters
cf5ef24fe9 Eliminate use of associated objects on NSURL in favor of a smarter RKResponseDescriptor class to solve the relative URL problem. refs #966
Instead, fall back to treating all URL's as strings for matching purposes and manually performing relative URL testing. Adds `matchesURL:` and `matchesResponse:` methods to `RKResponseDescriptor`.
2012-10-04 14:11:05 -04:00
Blake Watters
2280674f5a Touch up docs for batched object request operations 2012-09-30 19:30:35 -04:00
Jeff Arena
c301060ab8 Add APIs to RKObjectManager for use in firing batches of operations. 2012-09-30 13:43:12 -04:00
Dmitry Shevchenko
451a88bada Moved lost comment for RKAssociateBaseURLWithURL 2012-09-28 16:15:21 -05:00
Dmitry Shevchenko
a09e8ce4eb Associate base URL after query parameters 2012-09-28 16:13:07 -05:00
Blake Watters
adc1d178fa Add cancellation API to RKObjectManager.
* Introduces `cancelAllObjectRequestOperationsWithMethod:pathPattern:`
* Make RKObjectRequestOperation cancel underlying request operation when cancelled
2012-09-27 22:33:19 -04:00
Blake Watters
82e4c1ba94 Docs for the baseURL association functions 2012-09-26 23:51:15 -04:00
Blake Watters
8b256ab418 Fix baseURL associated objects 2012-09-26 23:38:20 -04:00
Blake Watters
ee9ae20823 Add associated object from request URL to baseURL in order to workaround issues with NSURLRequest clobbering the baseURL 2012-09-26 22:46:32 -04:00
Blake Watters
098edd1fec Throw a build failure if not compiled with ARC (boosted from AFNetworking/AFNetworking#541) 2012-09-26 20:44:17 -04:00