Blame view

sources/3rdparty/guzzle/http/Guzzle/Http/Message/RequestFactoryInterface.php 5.37 KB
6d9380f96   Cédric Dupont   Update sources OC...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  <?php
  
  namespace Guzzle\Http\Message;
  
  use Guzzle\Common\Collection;
  use Guzzle\Http\EntityBodyInterface;
  use Guzzle\Http\Url;
  
  /**
   * Request factory used to create HTTP requests
   */
  interface RequestFactoryInterface
  {
      const OPTIONS_NONE = 0;
      const OPTIONS_AS_DEFAULTS = 1;
  
      /**
       * Create a new request based on an HTTP message
       *
       * @param string $message HTTP message as a string
       *
       * @return RequestInterface
       */
      public function fromMessage($message);
  
      /**
       * Create a request from URL parts as returned from parse_url()
       *
       * @param string $method HTTP method (GET, POST, PUT, HEAD, DELETE, etc)
       *
       * @param array $urlParts URL parts containing the same keys as parse_url()
       *     - scheme: e.g. http
       *     - host:   e.g. www.guzzle-project.com
       *     - port:   e.g. 80
       *     - user:   e.g. michael
       *     - pass:   e.g. rocks
       *     - path:   e.g. / OR /index.html
       *     - query:  after the question mark ?
       * @param array|Collection                          $headers         HTTP headers
       * @param string|resource|array|EntityBodyInterface $body            Body to send in the request
       * @param string                                    $protocol        Protocol (HTTP, SPYDY, etc)
       * @param string                                    $protocolVersion 1.0, 1.1, etc
       *
       * @return RequestInterface
       */
      public function fromParts(
          $method,
          array $urlParts,
          $headers = null,
          $body = null,
          $protocol = 'HTTP',
          $protocolVersion = '1.1'
      );
  
      /**
       * Create a new request based on the HTTP method
       *
       * @param string                                    $method  HTTP method (GET, POST, PUT, PATCH, HEAD, DELETE, ...)
       * @param string|Url                                $url     HTTP URL to connect to
       * @param array|Collection                          $headers HTTP headers
       * @param string|resource|array|EntityBodyInterface $body    Body to send in the request
       * @param array                                     $options Array of options to apply to the request
       *
       * @return RequestInterface
       */
      public function create($method, $url, $headers = null, $body = null, array $options = array());
  
      /**
       * Apply an associative array of options to the request
       *
       * @param RequestInterface $request Request to update
       * @param array            $options Options to use with the request. Available options are:
       *        "headers": Associative array of headers
       *        "query": Associative array of query string values to add to the request
       *        "body": Body of a request, including an EntityBody, string, or array when sending POST requests.
       *        "auth": Array of HTTP authentication parameters to use with the request. The array must contain the
       *            username in index [0], the password in index [2], and can optionally contain the authentication type
       *            in index [3]. The authentication types are: "Basic", "Digest", "NTLM", "Any" (defaults to "Basic").
       *        "cookies": Associative array of cookies
       *        "allow_redirects": Set to false to disable redirects
       *        "save_to": String, fopen resource, or EntityBody object used to store the body of the response
       *        "events": Associative array mapping event names to a closure or array of (priority, closure)
       *        "plugins": Array of plugins to add to the request
       *        "exceptions": Set to false to disable throwing exceptions on an HTTP level error (e.g. 404, 500, etc)
       *        "params": Set custom request data parameters on a request. (Note: these are not query string parameters)
       *        "timeout": Float describing the timeout of the request in seconds
       *        "connect_timeout": Float describing the number of seconds to wait while trying to connect. Use 0 to wait
       *            indefinitely.
       *        "verify": Set to true to enable SSL cert validation (the default), false to disable, or supply the path
       *            to a CA bundle to enable verification using a custom certificate.
       *        "cert": Set to a string to specify the path to a file containing a PEM formatted certificate. If a
       *            password is required, then set an array containing the path to the PEM file followed by the the
       *            password required for the certificate.
       *        "ssl_key": Specify the path to a file containing a private SSL key in PEM format. If a password is
       *            required, then set an array containing the path to the SSL key followed by the password required for
       *            the certificate.
       *        "proxy": Specify an HTTP proxy (e.g. "http://username:password@192.168.16.1:10")
       *        "debug": Set to true to display all data sent over the wire
       * @param int $flags Bitwise flags to apply when applying the options to the request. Defaults to no special
       *                   options. `1` (OPTIONS_AS_DEFAULTS): When specified, options will only update a request when
       *                   the value does not already exist on the request. This is only supported by "query" and
       *                   "headers". Other bitwise options may be added in the future.
       */
      public function applyOptions(RequestInterface $request, array $options = array(), $flags = self::OPTIONS_NONE);
  }