summaryrefslogtreecommitdiff
path: root/vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php')
-rw-r--r--vendor/guzzle/guzzle/src/Guzzle/Http/Message/RequestFactoryInterface.php105
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);
+}