{"id":22257661,"url":"https://github.com/shakurocom/httpclient","last_synced_at":"2025-07-28T07:31:50.587Z","repository":{"id":46366068,"uuid":"350631665","full_name":"shakurocom/HTTPClient","owner":"shakurocom","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-02T14:45:17.000Z","size":728,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-01T09:46:53.243Z","etag":null,"topics":["alamofire","cocoapods","endpoint","http-client","ios","parser","swift","uikit","urlsession","xcode"],"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/shakurocom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-23T08:18:23.000Z","updated_at":"2024-07-02T14:44:52.000Z","dependencies_parsed_at":"2023-02-13T20:47:06.739Z","dependency_job_id":null,"html_url":"https://github.com/shakurocom/HTTPClient","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakurocom%2FHTTPClient","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakurocom%2FHTTPClient/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakurocom%2FHTTPClient/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shakurocom%2FHTTPClient/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shakurocom","download_url":"https://codeload.github.com/shakurocom/HTTPClient/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227877846,"owners_count":17833559,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["alamofire","cocoapods","endpoint","http-client","ios","parser","swift","uikit","urlsession","xcode"],"created_at":"2024-12-03T08:11:37.268Z","updated_at":"2025-07-28T07:31:50.576Z","avatar_url":"https://github.com/shakurocom.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Shakuro HTTPClient](Resources/title_image.png)\n\u003cbr\u003e\u003cbr\u003e\n# HTTPClient\n![Version](https://img.shields.io/badge/version-1.2.2-blue.svg)\n![Platform](https://img.shields.io/badge/platform-iOS-lightgrey.svg)\n![License MIT](https://img.shields.io/badge/license-MIT-green.svg)\n\n- [Requirements](#requirements)\n- [Installation](#installation)\n- [Usage](#usage)\n- [License](#license)\n\nHTTPClient is a Swift library designed to abstract away access to Alamofire. The main purpose of the HTTPClient component is to encapsulate endpoints description inside some network abstraction layer to avoid calling Alamofire directly. Enums are used to define enpoints. This allows to make compile-time checks for correct API endpoint accesses.\n\n![](Resources/HTTPClient.png)\n\n## Requirements\n\n- iOS 15.0+\n- Xcode 16.0+\n- Swift 5.0+\n\n## Installation\n\n### CocoaPods\n\nTo integrate HTTPClient into your Xcode project with CocoaPods, specify it in your `Podfile`:\n\n```ruby\npod 'Shakuro.HTTPClient'\n```\n\nThen, run the following command:\n\n```bash\n$ pod install\n```\n\n### Manually\n\nIf you prefer not to use CocoaPods, you can integrate Shakuro.HTTPClient simply by copying it to your project.\n\n## Usage\n\n1. Create a couple of endpoints by adopting `HTTPClientAPIEndPoint` protocol.\n2. Create responses parsers by adopting `HTTPClientParser` protocol.\n3. Create new instance of `HTTPClient` class.\n4. Start your HTTP request by calling `.sendRequest`. You should use completions to handle parsed results.\n\nTake a look at the [HTTPClient_Example](https://github.com/shakurocom/HTTPClient/tree/master/HTTPClient_Example) for more info.\n\n## License\n\nShakuro.HTTPClient is released under the MIT license. [See LICENSE](https://github.com/shakurocom/HTTPClient/blob/master/LICENSE.md) for details.\n\n## Give it a try and reach us\n\nExplore our expertise in \u003ca href=\"https://shakuro.com/services/native-mobile-development/?utm_source=github\u0026utm_medium=repository\u0026utm_campaign=http-client\"\u003eNative Mobile Development\u003c/a\u003e and \u003ca href=\"https://shakuro.com/services/ios-dev/?utm_source=github\u0026utm_medium=repository\u0026utm_campaign=http-client\"\u003eiOS Development\u003c/a\u003e.\u003c/p\u003e\n\nIf you need professional assistance with your mobile or web project, feel free to \u003ca href=\"https://shakuro.com/get-in-touch/?utm_source=github\u0026utm_medium=repository\u0026utm_campaign=http-client\"\u003econtact our team\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakurocom%2Fhttpclient","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshakurocom%2Fhttpclient","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshakurocom%2Fhttpclient/lists"}