# yuantiku/ytknetwork

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/yuantiku-ytknetwork).**

6,562 stars · 1,639 forks · Objective-C · MIT

## Links

- GitHub: https://github.com/yuantiku/YTKNetwork
- awesome-repositories: https://awesome-repositories.com/repository/yuantiku-ytknetwork.md

## Description

YTKNetwork is a high-level networking wrapper library for Objective-C and Swift that simplifies request handling and response management. It serves as a networking layer built around AFNetworking to decouple request logic from underlying communications.

The project features an HTTP request orchestrator for grouping network calls into batches or sequences to manage data retrieval dependencies. It includes a JSON response validator to verify server responses against expected structural formats, a network request interceptor for executing custom logic during the call lifecycle, and a local caching layer that saves responses based on expiration or versioning.

The library further covers network traffic orchestration through URL transformation and request pipelining. It also provides media management capabilities specifically for resumable file downloads that track received byte offsets to restart interrupted transfers.

## Tags

### Networking & Communication

- [Network Request Frameworks](https://awesome-repositories.com/f/networking-communication/network-request-frameworks.md) — Implements a high-level networking framework for Objective-C and Swift to manage requests and responses. ([source](https://github.com/yuantiku/ytknetwork#readme))
- [HTTP Client Wrappers](https://awesome-repositories.com/f/networking-communication/http-client-wrappers.md) — Wraps AFNetworking to provide a decoupled, high-level interface for TCP/IP communications and session management.
- [Network Request Coordination](https://awesome-repositories.com/f/networking-communication/network-request-coordination.md) — Orchestrates the sequence and dependency of multiple network requests using batches or sequences. ([source](https://github.com/yuantiku/ytknetwork#readme))
- [Networking Wrapper Libraries](https://awesome-repositories.com/f/networking-communication/networking-wrapper-libraries.md) — Provides a high-level networking layer for Objective-C and Swift that simplifies request handling using AFNetworking.
- [Request Interceptors](https://awesome-repositories.com/f/networking-communication/traffic-interception-tools/request-interceptors.md) — Passes network calls through a chain of pre- and post-processing hooks for headers and loading states.
- [Download Resumption](https://awesome-repositories.com/f/networking-communication/download-resumption.md) — Supports resuming interrupted file transfers by tracking received byte offsets using HTTP range requests.
- [Resumable Downloads](https://awesome-repositories.com/f/networking-communication/resumable-downloads.md) — Tracks file transfer progress to restart interrupted downloads from the last received byte. ([source](https://github.com/yuantiku/ytknetwork#readme))

### Graphics & Multimedia

- [Network Request Interception](https://awesome-repositories.com/f/graphics-multimedia/media-processing-analysis/media-downloaders/network-request-interception.md) — Intercepts network request lifecycles to execute custom logic, such as managing loading indicators. ([source](https://github.com/yuantiku/ytknetwork#readme))

### Mobile Development

- [iOS Networking Integrations](https://awesome-repositories.com/f/mobile-development/ios-networking-integrations.md) — Provides a high-level networking wrapper specifically tailored for Objective-C and Swift iOS applications.

### Web Development

- [Request Orchestration](https://awesome-repositories.com/f/web-development/request-orchestration.md) — Implements a system for grouping network calls into batches or sequences to manage complex data retrieval dependencies.
- [API Request Transformations](https://awesome-repositories.com/f/web-development/api-request-transformations.md) — Modifies outgoing API request attributes, including URL path segments and common parameters. ([source](https://github.com/yuantiku/ytknetwork#readme))
- [Time-To-Live Expirations](https://awesome-repositories.com/f/web-development/data-fetching-caching/cache-invalidation-utilities/time-to-live-expirations.md) — Implements time-to-live (TTL) expiration for locally cached network responses to reduce server load.
- [URL Transformation Rules](https://awesome-repositories.com/f/web-development/url-rewrite-rules/url-transformation-rules.md) — Transforms request paths and appends global parameters through a centralized set of URL modification rules.

### Data & Databases

- [API Response Caching](https://awesome-repositories.com/f/data-databases/api-response-caching.md) — Reduces redundant network traffic by caching server responses based on expiration or versioning.
- [JSON Response Assertions](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization/json-schema/structured-json-generation/json-response-assertions.md) — Provides mechanisms to validate that JSON responses contain expected keys and structures before processing. ([source](https://github.com/yuantiku/ytknetwork#readme))
- [Structural Data Validators](https://awesome-repositories.com/f/data-databases/structural-data-validators.md) — Verifies that server responses match specific structural requirements before processing the data.

### Software Engineering & Architecture

- [Response Schema Validators](https://awesome-repositories.com/f/software-engineering-architecture/json-schema-validation/response-schema-validators.md) — Validates incoming JSON response bodies against predefined structural schemas to ensure data integrity.

### Part of an Awesome List

- [Networking Libraries](https://awesome-repositories.com/f/awesome-lists/data/networking-libraries.md) — High-level network abstraction built on top of AFNetworking.
- [Networking](https://awesome-repositories.com/f/awesome-lists/devtools/networking.md) — High-level request utility based on AFNetworking.
