Recommend this page to a friend! |
Download .zip |
Info | Documentation | View files (21) | Download .zip | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2024-03-28 (23 days ago) | Not enough user ratings | Total: 23 This week: 1 | All time: 11,154 This week: 69 |
Version | License | PHP version | Categories | |||
api-client 1.0 | MIT/X Consortium ... | 8 | HTTP, Web services, PHP 8 |
Description | Author | |
This package can send HTTP requests to API servers using Guzzle. |
Documentation will be a bit lackluster, and the unit tests need a lot of work. With that being said, I created this library more for use in my own projects that center around an API service; to decouple a lot of the logic that would be repeated in each API service library, to its own library.
It has a long way to go, but it should be relatively stable.
guzzle/guzzle
as the HTTP Client.
Kevinrob/guzzle-cache-middleware
.
It currently does not support async requests and pooling. Just your regular, good 'ol, standard requests.
use Esi\Api\Client;
// api url, api key, cache path, does the api require key sent as a query arg, the name of the query arg
$client = new Client('https://myapiurl.com/api', 'myApiKey', '/var/tmp', true, 'api_key');
// Must first 'build' the client with (optional) $options array which can include any valid Guzzle option.
$client->build([
'persistentHeaders' => [
'Accept' => 'application/json',
],
'allow_redirects' => true,
// ... etc.
]);
$client->enableRetryAttempts();
$client->setMaxRetryAttempts(5);
$response = $client->send('GET', '/', ['query' => ['foo' => 'bar']]);
// Decode the json and return as array
$data = $client->toArray($response);
// or... as an object
$data = $client->toObject($response);
// or... for the raw json response, to do with as you will
$data = $client->raw(); // or $response->getBody()->getContents()
Bugs and feature requests are tracked on GitHub
Issues are the quickest way to report a bug. If you find a bug or documentation error, please check the following first:
Esi\Api accepts contributions of code and documentation from the community. These contributions can be made in the form of Issues or Pull Requests on the Esi\Api repository.
Esi\Api is licensed under the MIT license. When submitting new features or patches to Esi\Api, you are giving permission to license those features or patches under the MIT license.
Esi\Api tries to adhere to PHPStan level 9 with strict rules and bleeding edge. Please ensure any contributions do as well.
Before we look into how, here are the guidelines. If your Pull Requests fail to pass these guidelines it will be declined, and you will need to re-submit when you?ve made the changes. This might sound a bit tough, but it is required for me to maintain quality of the code-base.
Please ensure all new contributions match the PSR-12 coding style guide. The project is not fully PSR-12 compatible, yet; however, to ensure the easiest transition to the coding guidelines, I would like to go ahead and request that any contributions follow them.
If you change anything that requires a change to documentation then you will need to add it. New methods, parameters, changing default values, adding constants, etc. are all things that will require a change to documentation. The change-log must also be updated for every change. Also, PHPDoc blocks must be maintained.
Please ensure all new contributions adhere to: * PSR-5 PHPDoc * PSR-19 PHPDoc Tags
when documenting new functions, or changing existing documentation.
One thing at a time: A pull request should only contain one change. That does not mean only one commit, but one change - however many commits it took. The reason for this is that if you change X and Y but send a pull request for both at the same time, we might really want X but disagree with Y, meaning we cannot merge the request. Using the Git-Flow branching model you can create new branches for both of these features and send two requests.
Eric Sizemore - <admin@secondversion.com> - <https://www.secondversion.com>
Esi\Api is licensed under the MIT License - see the LICENSE.md
file for details
Files |
File | Role | Description | ||
---|---|---|---|---|
.github (2 files, 1 directory) | ||||
src (2 files, 2 directories) | ||||
tests (1 directory) | ||||
.php-cs-fixer.dist.php | Example | Example script | ||
.scrutinizer.yml | Data | Auxiliary data | ||
CHANGELOG.md | Data | Auxiliary data | ||
composer.json | Data | Auxiliary data | ||
composer.lock | Data | Auxiliary data | ||
LICENSE.md | Lic. | License text | ||
phpstan.neon | Data | Auxiliary data | ||
phpunit.xml | Data | Auxiliary data | ||
README.md | Doc. | Documentation | ||
rector.php | Class | Class source | ||
renovate.json | Data | Auxiliary data | ||
SECURITY.md | Data | Auxiliary data |
Files | / | .github |
File | Role | Description | ||
---|---|---|---|---|
workflows (2 files) | ||||
dependabot.yml | Data | Auxiliary data | ||
FUNDING.yml | Data | Auxiliary data |
Files | / | src |
File | Role | Description | ||
---|---|---|---|---|
Exceptions (1 file) | ||||
Traits (1 file) | ||||
Client.php | Class | Class source | ||
Utils.php | Class | Class source |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.