Commit Graph

51 Commits

Author SHA1 Message Date
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
Blake Watters
afd9d16419 Formatting cleanups 2012-09-26 20:35:29 -04:00
Blake Watters
cda18ec3e4 Use RKMIMESerialization for serializing parameters instead of passing through to AFHTTPClient 2012-09-26 20:34:40 -04:00
Blake Watters
979854bf5a Fix crash 2012-09-24 18:22:51 -04:00
Blake Watters
eaad20eb66 Add RKStringFromNetworkReachabilityStatus function 2012-09-19 13:30:59 -04:00
Jawwad Ahmad
e6e515d0c7 Use the return value of the merged dict for the params. Closes #938. 2012-09-18 15:52:54 -04:00
Jawwad Ahmad
bfbc345ee8 Rename RKDictionaryByReverseMergingDictionaryWithDictionary -> RKDictionaryByMergingDictionaryWithDictionary, since a reverse merge would imply that values in the 1st dictionary take priority whereas we want values in the 2nd dict to overwrite values in the 1st. Refs #938. 2012-09-18 15:24:50 -04:00
Blake Watters
709c3d324b Drop category methods in favor of C functions for required functionality to reduce API size and avoids namespace conflicts 2012-09-11 16:48:18 -04:00
Blake Watters
c7bc76711d Add support for creating an NSMutableURLRequest for a relationship 2012-09-10 18:00:15 -04:00
Blake Watters
27984265a7 Clean up issues instantiating managed vs unmanaged object request operations through the object manager. 2012-09-10 14:51:27 -04:00
Blake Watters
e5aed512a7 Add new optimization to permit RKObjectRequestOperation to avoid the network and use an existing cached response. Update initialization paths for RKObjectRequestOperation to work with requests instead of request operations. 2012-09-09 18:25:43 -04:00
Blake Watters
5688c4d2ee Header updates work in progress 2012-09-09 12:35:08 -04:00
Blake Watters
565248ca88 requestForRouteNamed: -> requestWithPathForRouteNamed: 2012-09-07 11:47:11 -04:00
Blake Watters
8835d4bbbe Normalize routable object request primitives around the getObjectAtPath naming convention for consistency. Docs update. 2012-09-07 11:39:24 -04:00
Blake Watters
bed7779be4 Kill default mapping queue. Basic header docs for RKObjectManager 2012-09-06 11:48:31 -04:00
Blake Watters
6af117cd80 API consistency cleanup: multipartFormRequestForObject: -> multipartFormRequestWithObject: 2012-09-05 21:00:24 -04:00
Blake Watters
22a68baf0c Rework podspec to organize header file imports to match existing RestKit releases 2012-09-05 11:04:42 -04:00
Blake Watters
627f6f5b7b Resource Path -> Path 2012-09-04 21:24:33 -04:00
Blake Watters
10377d0a70 Overhaul RKParser API's for clarity and simplicity:
* Adds support for NSJSONSerialization. closes #476
* Renames RKParser to RKSerialization
* Renames RKParserRegistry to RKMIMETypeSerialization
* Rework serialization implementations API's to use class methods
* Fold together string and regular expression matching for MIME Type registrations
* Port serialization implementations to working off of NSData instead of NSString. refs #762
* Migrate JSONKit to being an optional component. See https://github.com/RestKit/RKJSONKitSerialization
2012-09-04 13:07:31 -04:00
Blake Watters
a74b8717dc Pulling out RKURL in favor of vanilla NSURL 2012-09-03 17:07:09 -04:00