GTMSessionFetcher makes it easy for Cocoa applications to perform http operations. The fetcher is implemented as a wrapper on NSURLSession, so its behavior is asynchronous and uses operating-system settings on iOS and Mac OS X.
- Simple to build; only one source/header file pair is required
- Simple to use: takes just two lines of code to fetch a request
- Supports upload and download sessions
- Flexible cookie storage
- Automatic retry on errors, with exponential backoff
- Support for generating multipart MIME upload streams
- Easy, convenient logging of http requests and responses
- Supports plug-in authentication such as with GTMAppAuth
- Easily testable; self-mocking
- Automatic rate limiting when created by the GTMSessionFetcherService factory class
- Fully independent of other projects
SDK for Apple
- Some string formatting fixes for newer Xcodes.
- Ensure the body from an HTTP failure is exposed in the NSError during callbacks.
- Ensure the content type header is also expose in the NSError so the data can be inspected.
- Fix up some headers for resuming media transfers.
- When the library creates the logging directory, tag it as not being backed up.