~ballot/wordpress/openstack-objectstorage-breaking-insight

« back to all changes in this revision

Viewing changes to vendor/guzzlehttp/guzzle/docs/index.rst

  • Committer: Jacek Nykis
  • Date: 2015-02-11 15:35:31 UTC
  • Revision ID: jacek.nykis@canonical.com-20150211153531-hmy6zi0ov2qfkl0b
Initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.. title:: Guzzle | PHP HTTP client and framework for consuming RESTful web services
 
2
 
 
3
======
 
4
Guzzle
 
5
======
 
6
 
 
7
Guzzle is a PHP HTTP client that makes it easy to work with HTTP/1.1 and takes
 
8
the pain out of consuming web services.
 
9
 
 
10
- Pluggable HTTP adapters that can send requests serially or in parallel
 
11
- Doesn't require cURL, but uses cURL by default
 
12
- Streams data for both uploads and downloads
 
13
- Provides event hooks & plugins for cookies, caching, logging, OAuth, mocks, etc.
 
14
- Keep-Alive & connection pooling
 
15
- SSL Verification
 
16
- Automatic decompression of response bodies
 
17
- Streaming multipart file uploads
 
18
- Connection timeouts
 
19
 
 
20
.. code-block:: php
 
21
 
 
22
    $client = new GuzzleHttp\Client();
 
23
    $res = $client->get('https://api.github.com/user', [
 
24
        'auth' =>  ['user', 'pass']
 
25
    ]);
 
26
    echo $res->getStatusCode();           // 200
 
27
    echo $res->getHeader('content-type'); // 'application/json; charset=utf8'
 
28
    echo $res->getBody();                 // {"type":"User"...'
 
29
    var_export($res->json());             // Outputs the JSON decoded data
 
30
 
 
31
User guide
 
32
----------
 
33
 
 
34
.. toctree::
 
35
    :maxdepth: 2
 
36
 
 
37
    overview
 
38
    quickstart
 
39
    clients
 
40
    http-messages
 
41
    events
 
42
    streams
 
43
    adapters
 
44
    testing
 
45
    faq
 
46
 
 
47
HTTP Components
 
48
---------------
 
49
 
 
50
There are a number of optional libraries you can use along with Guzzle's HTTP
 
51
layer to add capabilities to the client.
 
52
 
 
53
`Log Subscriber <https://github.com/guzzle/log-subscriber>`_
 
54
    Logs HTTP requests and responses sent over the wire using customizable
 
55
    log message templates.
 
56
 
 
57
`OAuth Subscriber <https://github.com/guzzle/oauth-subscriber>`_
 
58
    Signs requests using OAuth 1.0.
 
59
 
 
60
`Progress Subscriber <https://github.com/guzzle/progress-subscriber>`_
 
61
    Emits progress events when uploading and downloading data.
 
62
 
 
63
`Cache Subscriber <https://github.com/guzzle/cache-subscriber>`_
 
64
    Implements a private transparent proxy cache that caches HTTP responses.
 
65
 
 
66
`Retry Subscriber <https://github.com/guzzle/retry-subscriber>`_
 
67
    Retries failed requests using customizable retry strategies (e.g., retry
 
68
    based on response status code, cURL error codes, etc.)
 
69
 
 
70
`Message Integrity Subscriber <https://github.com/guzzle/message-integrity-subscriber>`_
 
71
    Verifies the message integrity of HTTP responses using customizable
 
72
    validators. This plugin can be used, for example, to verify the Content-MD5
 
73
    headers of responses.
 
74
 
 
75
Service Description Commands
 
76
----------------------------
 
77
 
 
78
You can use the **Guzzle Command** library to encapsulate interaction with a
 
79
web service using command objects. Building on top of Guzzle's command
 
80
abstraction allows you to easily implement things like service description that
 
81
can be used to serialize requests and parse responses using a meta-description
 
82
of a web service.
 
83
 
 
84
`Guzzle Command <https://github.com/guzzle/command>`_
 
85
    Provides the foundational elements used to build high-level, command based,
 
86
    web service clients with Guzzle.
 
87
 
 
88
`Guzzle Services <https://github.com/guzzle/guzzle-services>`_
 
89
    Provides an implementation of the *Guzzle Command* library that uses
 
90
    Guzzle service descriptions to describe web services, serialize requests,
 
91
    and parse responses into easy to use model structures.