annotate vendor/guzzlehttp/guzzle/README.md @ 0:4c8ae668cc8c

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