diff options
Diffstat (limited to 'vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php')
-rw-r--r-- | vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php b/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php new file mode 100644 index 0000000..6088f10 --- /dev/null +++ b/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php @@ -0,0 +1,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); +} |