2017 © Pedro Peláez
 

library guzzle-xml

Guzzle XML Request.

image

tarkhov/guzzle-xml

Guzzle XML Request.

  • Tuesday, January 23, 2018
  • by tarkhov
  • Repository
  • 1 Watchers
  • 0 Stars
  • 1 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

Guzzle XML

Guzzle XML request and response., (*1)

Contents

  1. Compatibility
    1. Version support
  2. Installation
    1. Composer
  3. Usage
    1. Request options
    2. Response
  4. Author
  5. License

Compatibility

Library Version
PHP >=7.2.5
Guzzle >=7.0 and < 8.0
Symfony Serializer >=5.0 and < 6.0

Version support

Guzzle PHP Repo
6.x >=5.5 0.x
7.x >=7.2 1.x

Installation

Composer

composer require tarkhov/guzzle-xml

Usage

Request options

Following example creates POST request with XML body. Option xml accepts an array that is converted to XML document. About array format and how converting works you can read in detail Symfony XmlEncoder., (*2)

push(XmlMiddleware::xml(), 'xml');
$client = new Client(['handler' => $stack]);
$response = $client->post('https://example.com', [
  'xml' => [
    'package' => [
        '@language' => 'PHP',
        'name'      => 'Guzzle XML',
        'author'    => [
          '@role' => 'developer',
          '#'     => 'Alexander Tarkhov',
        ],
        'support'   => [
            'issues' => 'https://github.com/tarkhov/guzzle-xml/issues',
            'source' => 'https://github.com/tarkhov/guzzle-xml',
        ],
    ],
  ],
]);
```

As a result, an xml request will be sent with the header `Content-type: text/xml` and data with the following content:

```xml

<package language="PHP">
   <name>Guzzle XML</name>
   <author role="developer">Alexander Tarkhov</author>
   <support>
      <issues>https://github.com/tarkhov/guzzle-xml/issues</issues>
      <source>https://github.com/tarkhov/guzzle-xml</source>
   </support>
</package>

Response

Automatically convert your JSON response to XML using middleware., (*3)

push(XmlMiddleware::jsonToXml());
$client = new Client(['handler' => $stack]);
$response = $client->post('https://example.com');
$xml = $response->getBody();
echo $xml;
```

If you json response is:

```json
{
   "package": {
      "@language":"PHP",
      "name":"Guzzle XML",
      "author": {
         "@role":"developer",
         "#":"Alexander Tarkhov"
      },
      "support": {
         "issues":"https:\/\/github.com\/tarkhov\/guzzle-xml\/issues",
         "source":"https:\/\/github.com\/tarkhov\/guzzle-xml"
      }
   }
}
```

This will automatically convert to XML like this:

```xml

<package language="PHP">
   <name>Guzzle XML</name>
   <author role="developer">Alexander Tarkhov</author>
   <support>
      <issues>https://github.com/tarkhov/guzzle-xml/issues</issues>
      <source>https://github.com/tarkhov/guzzle-xml</source>
   </support>
</package>

Author

Alexander Tarkhov, (*4)

License

This project is licensed under the MIT License - see the LICENSE file for details., (*5)

The Versions

23/01 2018

dev-master

9999999-dev https://github.com/tarkhov/guzzle-xml

Guzzle XML Request.

  Sources   Download

MIT

The Requires

 

curl xml serializer symfony guzzle

23/01 2018

v0.1.0

0.1.0.0 https://github.com/tarkhov/guzzle-xml

Guzzle XML Request.

  Sources   Download

MIT

The Requires

 

curl xml serializer symfony guzzle