inveniem / guzzle-description-loader
Load guzzle service description from various file formats
Installs: 566
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 16
pkg:composer/inveniem/guzzle-description-loader
Requires
- php: >=7.1.3
- symfony/config: ^4.4 || ^5 || ^6
- symfony/yaml: ^4.4 || ^5 || ^6
Requires (Dev)
- phpunit/phpunit: ^9
Replaces
- gimler/guzzle-description-loader: <=0.0.4
- kezor/guzzle-description-loader: <=0.0.4
README
A stand-alone Service Description loader for Guzzle with compatibility for Symfony 4.x, 5.x, and 6.x.
Installation
If you are using Composer, and you should, just run the following command:
composer require "inveniem/guzzle-description-loader"
Supported File Formats
- Yaml
- Php
- Json
Usage
use Guzzle\Service\Loader\JsonLoader; use GuzzleHttp\Command\Guzzle\Description; use Symfony\Component\Config\FileLocator; $configDirectories = array(DESCRIPTION_PATH); $this->locator = new FileLocator($configDirectories); $this->jsonLoader = new JsonLoader($this->locator); $description = $this->jsonLoader->load($this->locator->locate('description.json')); $description = new Description($description);
Sample
{
"operations": {
"certificates.list": {
"httpMethod": "GET",
"uri": "certificates",
"description": "Lists and returns basic information about all of the management certificates associated with the specified subscription.",
"responseModel": "CertificateList"
}
},
"models": {
"CertificateList": {
"type": "array",
"name": "certificates",
"sentAs": "SubscriptionCertificate",
"location": "xml",
"items": {
"type": "object"
}
}
},
"imports": [
"description_import.json"
]
}