{"id":32151248,"url":"https://github.com/aldo10012/eznetworking","last_synced_at":"2026-05-11T06:24:12.491Z","repository":{"id":248461570,"uuid":"828754331","full_name":"Aldo10012/EZNetworking","owner":"Aldo10012","description":"A lightweight Swift networking library for handling API requests.","archived":false,"fork":false,"pushed_at":"2026-02-24T09:34:20.000Z","size":4244,"stargazers_count":25,"open_issues_count":2,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-24T09:37:41.612Z","etag":null,"topics":["async-await-features","https","networking","swift","unit-tested"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Aldo10012.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-15T04:13:30.000Z","updated_at":"2026-02-24T05:21:15.000Z","dependencies_parsed_at":"2024-07-26T09:24:37.857Z","dependency_job_id":"bef316ba-82a2-4f43-b137-3fa415a362de","html_url":"https://github.com/Aldo10012/EZNetworking","commit_stats":null,"previous_names":["aldo10012/eznetworking"],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/Aldo10012/EZNetworking","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aldo10012%2FEZNetworking","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aldo10012%2FEZNetworking/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aldo10012%2FEZNetworking/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aldo10012%2FEZNetworking/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Aldo10012","download_url":"https://codeload.github.com/Aldo10012/EZNetworking/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Aldo10012%2FEZNetworking/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29966684,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T09:33:09.965Z","status":"ssl_error","status_checked_at":"2026-03-01T09:25:48.915Z","response_time":124,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async-await-features","https","networking","swift","unit-tested"],"created_at":"2025-10-21T10:39:19.953Z","updated_at":"2026-03-01T10:02:09.964Z","avatar_url":"https://github.com/Aldo10012.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EZNetworking\n\n[![Swift](https://img.shields.io/badge/Swift-5.9-orange.svg)](https://swift.org)\n[![Platform](https://img.shields.io/badge/platform-iOS%2015.0%2B-blue.svg)](https://developer.apple.com/ios/)\n[![SPM Compatible](https://img.shields.io/badge/SPM-compatible-brightgreen.svg)](https://swift.org/package-manager/)\n\nEZNetworking is a powerful, lightweight Swift networking library that simplifies API interactions in your iOS applications. Built with modern Swift features, it provides an intuitive interface for making HTTP requests, handling responses, and managing network operations.\n\n## Key Features 🚀\n\n- **Modern Swift Support**: Built with Swift 5.9 and iOS 15.0+, macOS 12+, watchOS 8+, tvOS 15+, visionOS 1+\n- **Async/Await Integration**: First-class support for Swift concurrency\n- **Combine Support**: Publishers for requests, downloads, uploads, WebSocket, and SSE\n- **Callback Support**: Completion handler-based API across the board\n- **AsyncStream Support**: Streaming progress for uploads, downloads, and real-time events\n- **Type-Safe Networking**: Strong typing for requests and responses\n- **Flexible Request Building**: Multiple approaches to creating requests\n- **Comprehensive Interceptors**: Full request/response pipeline control\n- **Built-in Caching**: Efficient response caching system\n- **File Download**: Easy-to-use file downloader\n- **File Upload**: Easy-to-use file uploader\n- **Data Upload**: Easy-to-use data uploader\n- **Multipart Form Data**: Construct multipart requests with boundary handling and MIME types\n- **WebSocket**: Real-time, bi-directional client-to-server communication\n- **Server-Sent Events**: Lightweight, server-to-client streaming with automatic reconnection\n- **Extensive Testing**: 100% unit test coverage\n\n## Table of Contents 📑\n\n- [Installation](https://github.com/Aldo10012/EZNetworking?tab=readme-ov-file#installation-)\n- [Quick Start Guide](https://github.com/Aldo10012/EZNetworking?tab=readme-ov-file#quick-start-guide-)\n- Usage\n  - HTTP Components - [HTTP Method](Documentation/01_httpComponents.md#http-methods), [HTTP Query Parameter](Documentation/01_httpComponents.md#query-parameters), [HTTP Header](Documentation/01_httpComponents.md#headers), [HTTP Body](Documentation/01_httpComponents.md#request-body), [Timeout](Documentation/01_httpComponents.md#timeout), [Cache](Documentation/01_httpComponents.md#cache)\n  - How to make a request - [RequestFactory](Documentation/02_howToMakeARequest.md#using-requestfactory), [RequestBuilder](Documentation/02_howToMakeARequest.md#using-requestbuilder), [Request protocol](Documentation/02_howToMakeARequest.md#request-protocol)\n  - How to perform a request - [Performing a Request](Documentation/03_howToPerformARequest.md#performing-a-request), [Error handling](Documentation/03_howToPerformARequest.md#error-handling)\n  - Large Data - [File Download](Documentation/04_largeData.md#file-download), [Data Upload](Documentation/04_largeData.md#data-upload), [File Upload](Documentation/04_largeData.md#file-upload), [Multipart-form Upload](Documentation/04_largeData.md#multipart-form-upload)\n  - Live Communication - [server-sent-event](Documentation/05_liveConnumication.md#server-sent-events), [websocket](Documentation/05_liveConnumication.md#websocket)\n  - Session Management - [Session](Documentation/06_sessionManagement.md#session), [SessionDelegate](Documentation/06_sessionManagement.md#sessiondelegate), [Interceptors](Documentation/06_sessionManagement.md#interceptors)\n- [Scripts](https://github.com/Aldo10012/EZNetworking?tab=readme-ov-file#scripts)\n- [Contributing](https://github.com/Aldo10012/EZNetworking?tab=readme-ov-file#contributing-)\n- [License](https://github.com/Aldo10012/EZNetworking?tab=readme-ov-file#license-)\n\n## Installation 📦\n\n### Swift Package Manager\n\nAdd EZNetworking to your project using Swift Package Manager:\n\n```swift\ndependencies: [\n    .package(url: \"https://github.com/Aldo10012/EZNetworking.git\", from: \"5.2.0\")\n]\n```\n\nOr through Xcode:\n1. Go to File \u003e Add Packages\n2. Enter: `https://github.com/Aldo10012/EZNetworking.git`\n3. Select version: 5.2.0 or later\n\n## Quick Start Guide 🚀\n\nHere's a simple example to get you started:\n\n```swift\n// Create a request\nlet request = RequestFactoryImpl().build(\n    httpMethod: .GET,\n    urlString: \"https://api.example.com/data\",\n    parameters: [.init(key: \"userId\", value: \"123\")]\n)\n\n// Using async/await\ndo {\n    let response = try await RequestPerformer().perform(\n        request: request,\n        decodeTo: UserData.self\n    )\n    print(\"User data: \\(response)\")\n} catch {\n    print(\"Error: \\(error)\")\n}\n```\n\n## Scripts\n\n`swiftformat Sources Tests`\n\n- Automatically formats the Swift code according to the rules defined in .swiftformat configuration file.\n\n`swiftlint Sources Tests`\n\n- Analyzes the Swift code and reports violations of the rules defined in .swiftlint.yaml configuration file.\n\n`swiftlint --fix Sources Tests`\n\n- Automatically fixes auto-correctable SwiftLint violations in the code.\n\n\n\n## Contributing 🤝\n\nContributions to are always welcomed! For more details see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n## License 📄\n\nEZNetworking is available under the MIT license. See the [LICENSE](https://github.com/Aldo10012/EZNetworking?tab=MIT-1-ov-file) file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faldo10012%2Feznetworking","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faldo10012%2Feznetworking","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faldo10012%2Feznetworking/lists"}