Overview of GTMSessionFetcher
mainGTMSessionFetcher is a library designed for Cocoa applications to simplify HTTP operations. It acts as a wrapper around NSURLSession, providing asynchronous behavior that adheres to operating-system settings.
Key capabilities include:
- Session Management: Supports both upload and download sessions.
- Resilience: Automatic retry on errors using exponential backoff.
- Data Handling: Support for generating multipart MIME upload streams.
- Authentication: Supports plug-in authentication (e.g.,
GTMAppAuth). - Cookie Management: Flexible cookie storage options.
- Observability: Convenient logging of HTTP requests and responses.
- Rate Limiting: Automatic rate limiting when instantiated via the
GTMSessionFetcherServicefactory class. - Testability: Designed to be easily testable via self-mocking.