annotate vendor/guzzlehttp/guzzle/README.md @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 5fb285c0d0e3
children
rev   line source
Chris@0 1 Guzzle, PHP HTTP client
Chris@0 2 =======================
Chris@0 3
Chris@13 4 [![Latest Version](https://img.shields.io/github/release/guzzle/guzzle.svg?style=flat-square)](https://github.com/guzzle/guzzle/releases)
Chris@13 5 [![Build Status](https://img.shields.io/travis/guzzle/guzzle.svg?style=flat-square)](https://travis-ci.org/guzzle/guzzle)
Chris@13 6 [![Total Downloads](https://img.shields.io/packagist/dt/guzzlehttp/guzzle.svg?style=flat-square)](https://packagist.org/packages/guzzlehttp/guzzle)
Chris@0 7
Chris@0 8 Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and
Chris@0 9 trivial to integrate with web services.
Chris@0 10
Chris@0 11 - Simple interface for building query strings, POST requests, streaming large
Chris@0 12 uploads, streaming large downloads, using HTTP cookies, uploading JSON data,
Chris@0 13 etc...
Chris@0 14 - Can send both synchronous and asynchronous requests using the same interface.
Chris@0 15 - Uses PSR-7 interfaces for requests, responses, and streams. This allows you
Chris@0 16 to utilize other PSR-7 compatible libraries with Guzzle.
Chris@0 17 - Abstracts away the underlying HTTP transport, allowing you to write
Chris@0 18 environment and transport agnostic code; i.e., no hard dependency on cURL,
Chris@0 19 PHP streams, sockets, or non-blocking event loops.
Chris@0 20 - Middleware system allows you to augment and compose client behavior.
Chris@0 21
Chris@0 22 ```php
Chris@0 23 $client = new \GuzzleHttp\Client();
Chris@0 24 $res = $client->request('GET', 'https://api.github.com/repos/guzzle/guzzle');
Chris@0 25 echo $res->getStatusCode();
Chris@0 26 // 200
Chris@0 27 echo $res->getHeaderLine('content-type');
Chris@0 28 // 'application/json; charset=utf8'
Chris@0 29 echo $res->getBody();
Chris@0 30 // '{"id": 1420053, "name": "guzzle", ...}'
Chris@0 31
Chris@0 32 // Send an asynchronous request.
Chris@0 33 $request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
Chris@0 34 $promise = $client->sendAsync($request)->then(function ($response) {
Chris@0 35 echo 'I completed! ' . $response->getBody();
Chris@0 36 });
Chris@0 37 $promise->wait();
Chris@0 38 ```
Chris@0 39
Chris@0 40 ## Help and docs
Chris@0 41
Chris@0 42 - [Documentation](http://guzzlephp.org/)
Chris@0 43 - [Stack Overflow](http://stackoverflow.com/questions/tagged/guzzle)
Chris@0 44 - [Gitter](https://gitter.im/guzzle/guzzle)
Chris@0 45
Chris@0 46
Chris@0 47 ## Installing Guzzle
Chris@0 48
Chris@0 49 The recommended way to install Guzzle is through
Chris@0 50 [Composer](http://getcomposer.org).
Chris@0 51
Chris@0 52 ```bash
Chris@0 53 # Install Composer
Chris@0 54 curl -sS https://getcomposer.org/installer | php
Chris@0 55 ```
Chris@0 56
Chris@0 57 Next, run the Composer command to install the latest stable version of Guzzle:
Chris@0 58
Chris@0 59 ```bash
Chris@0 60 php composer.phar require guzzlehttp/guzzle
Chris@0 61 ```
Chris@0 62
Chris@0 63 After installing, you need to require Composer's autoloader:
Chris@0 64
Chris@0 65 ```php
Chris@0 66 require 'vendor/autoload.php';
Chris@0 67 ```
Chris@0 68
Chris@0 69 You can then later update Guzzle using composer:
Chris@0 70
Chris@0 71 ```bash
Chris@0 72 composer.phar update
Chris@0 73 ```
Chris@0 74
Chris@0 75
Chris@0 76 ## Version Guidance
Chris@0 77
Chris@0 78 | Version | Status | Packagist | Namespace | Repo | Docs | PSR-7 | PHP Version |
Chris@0 79 |---------|------------|---------------------|--------------|---------------------|---------------------|-------|-------------|
Chris@0 80 | 3.x | EOL | `guzzle/guzzle` | `Guzzle` | [v3][guzzle-3-repo] | [v3][guzzle-3-docs] | No | >= 5.3.3 |
Chris@0 81 | 4.x | EOL | `guzzlehttp/guzzle` | `GuzzleHttp` | [v4][guzzle-4-repo] | N/A | No | >= 5.4 |
Chris@0 82 | 5.x | Maintained | `guzzlehttp/guzzle` | `GuzzleHttp` | [v5][guzzle-5-repo] | [v5][guzzle-5-docs] | No | >= 5.4 |
Chris@0 83 | 6.x | Latest | `guzzlehttp/guzzle` | `GuzzleHttp` | [v6][guzzle-6-repo] | [v6][guzzle-6-docs] | Yes | >= 5.5 |
Chris@0 84
Chris@0 85 [guzzle-3-repo]: https://github.com/guzzle/guzzle3
Chris@0 86 [guzzle-4-repo]: https://github.com/guzzle/guzzle/tree/4.x
Chris@0 87 [guzzle-5-repo]: https://github.com/guzzle/guzzle/tree/5.3
Chris@0 88 [guzzle-6-repo]: https://github.com/guzzle/guzzle
Chris@0 89 [guzzle-3-docs]: http://guzzle3.readthedocs.org/en/latest/
Chris@0 90 [guzzle-5-docs]: http://guzzle.readthedocs.org/en/5.3/
Chris@0 91 [guzzle-6-docs]: http://guzzle.readthedocs.org/en/latest/