{"id":22454555,"url":"https://github.com/israel-007/stashquiver","last_synced_at":"2025-03-27T13:16:15.119Z","repository":{"id":259784997,"uuid":"879426875","full_name":"israel-007/stashquiver","owner":"israel-007","description":"This library is set to support cache, API request, data compression, handle errors, format different data types, log data's, rate limiting e.t.c","archived":false,"fork":false,"pushed_at":"2025-02-26T21:26:04.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T22:26:54.073Z","etag":null,"topics":["api","api-request","api-resources","api-response","cache","cache-storage","caching","data-compression","format-response","log-data","rate-limiter","rate-limiting"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/israel-007.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2024-10-27T21:37:48.000Z","updated_at":"2025-02-26T21:26:08.000Z","dependencies_parsed_at":"2024-10-28T01:35:40.259Z","dependency_job_id":"40739471-d38c-4720-a3be-5a9010bc766a","html_url":"https://github.com/israel-007/stashquiver","commit_stats":null,"previous_names":["israel-007/stashquiver"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/israel-007%2Fstashquiver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/israel-007%2Fstashquiver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/israel-007%2Fstashquiver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/israel-007%2Fstashquiver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/israel-007","download_url":"https://codeload.github.com/israel-007/stashquiver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245850364,"owners_count":20682647,"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":["api","api-request","api-resources","api-response","cache","cache-storage","caching","data-compression","format-response","log-data","rate-limiter","rate-limiting"],"created_at":"2024-12-06T07:08:33.150Z","updated_at":"2025-03-27T13:16:15.113Z","avatar_url":"https://github.com/israel-007.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# APIStash Library\n\nAPIStash is a versatile PHP library designed to streamline API interactions. It offers robust features such as caching, rate limiting, error handling, and flexible HTTP request handling, making it an ideal choice for developers working with external APIs.\n\nWith APIStash, you can:\n- Simplify API requests using a chainable, user-friendly interface.\n- Cache API responses to reduce redundant API calls.\n- Enforce rate limits to comply with API quotas.\n- Retry failed requests with a configurable fallback mechanism.\n- Seamlessly integrate with any PHP project using Composer.\n\n---\n\n## Features\n\n- **Chainable API Requests**: Easily build and send API requests with a fluid interface.\n- **Caching**: Cache API responses locally to minimize external requests.\n- **Rate Limiting**: Prevent excessive requests to ensure compliance with API limits.\n- **Error Handling**: Automatically retry failed requests with configurable fallback responses.\n- **Guzzle Integration**: Use Guzzle for HTTP requests when available, with fallback options.\n- **No Vendor Lock-In**: Customize or disable components like caching and rate limiting as needed.\n\n## Installation\n\nAPIStash is available via Composer. To install it, run the following command:\n\n```bash\ncomposer require stashquiver/stashquiver\n\n```\n\n## Requirements\n\n- **PHP 7.4 or higher**\n- **Composer**\n\n### Step 3: Basic Usage Example\n\n#### Example\n\n```markdown\n## Basic Usage\n\nHere's a quick example to demonstrate how to use APIStash to make a GET request:\n\n```php\n\nuse StashQuiver\\Requests;\n\n// Create an instance of Requests\n$requests = new Requests();\n\ntry {\n    // Build and send the request\n    $response = $requests\n        -\u003eurl('https://api.example.com/data')\n        -\u003emethod('GET')\n        -\u003eparams(['param1' =\u003e 'value1']) // Optional query parameters\n        -\u003eheaders(['Custom-Header' =\u003e 'HeaderValue']) // Optional headers\n        -\u003esend();\n\n    // Output the raw API response\n    echo $response;\n\n} catch (\\Exception $e) {\n    // Handle any errors\n    echo \"Request failed: \" . $e-\u003egetMessage();\n}\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisrael-007%2Fstashquiver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fisrael-007%2Fstashquiver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fisrael-007%2Fstashquiver/lists"}