--- /dev/null
+# void http\Client\Request::__construct([string $meth = NULL[, string $url = NULL[, array $headers = NULL[, http\Message\Body $body = NULL]]]])
+
+Create a new client request message to be enqueued and sent by http\Client.
+
+## Params:
+
+* Optional string $meth = NULL
+ The request method.
+* Optional string $url = NULL
+ The request URL.
+* Optional array $headers = NULL
+ HTTP headers.
+* Optional http\Message\Body $body = NULL
+ Request body.
+
+## Throws:
+
+* http\Exception.
+
+## Example:
+
+ <?php
+ $request = new http\Client\Request("GET", "http://php.net/");
+ ?>
--- /dev/null
+# http\Client\Request http\Client\Request::addQuery(mixed $query_data)
+
+Add querystring data.
+See http\Client\Request::setQuery() and http\Message::setRequestUrl().
+
+## Params:
+
+* mixed $query_data
+ Additional querystring data.
+
+## Returns:
+
+* http\Client\Request, self.
--- /dev/null
+# http\Client\Request http\Client\Request::addSslOptions([array $ssl_options = NULL])
+
+Add specific SSL options.
+See http\Client\Request::setSslOptions(), http\Client\Request::setOptions() and http\Client\Curl::$ssl options.
+
+## Params:
+
+* Optional array $ssl_options = NULL
+ Add this SSL options.
+
+## Returns:
+
+* http\Client\Request, self.
--- /dev/null
+# string http\Client\Request::getContentType()
+
+Extract the currently set "Content-Type" header.
+See http\Client\Request::setContentType().
+
+## Params:
+
+None.
+
+## Returns:
+
+* string, the currently set content type.
+* NULL, if no "Content-Type" header is set.
+
+## Example:
+
+ <?php
+ $multi = new http\Message\Body;
+ $multi->addPart(new http\Message("Content-type: text/plain\n\nHello part 1!"));
+ $multi->addPart(new http\Message("Content-type: text/plain\n\nHello part 2!"));
+ $request = new http\Client\Request("POST", "http://localhost/", [], $multi);
+ var_dump($request->getContentType());
+ ?>
+
+Yields:
+
+ string(49) "multipart/form-data; boundary="30718774.3fcf95cc""
--- /dev/null
+# array http\Client\Request::getOptions()
+
+Get priorly set options.
+See http\Client\Request::setOptions().
+
+## Params:
+
+None.
+
+## Returns:
+
+* array, options.
--- /dev/null
+# string http\Client\Request::getQuery()
+
+Retrieve the currently set querystring.
+
+## Params:
+
+None.
+
+## Returns:
+
+* string, the currently set querystring.
+* NULL, if no querystring is set.
+
+## Example:
+
+ <?php
+ var_dump((new http\Client\Request)->getQuery());
+ var_dump((new http\Client\Request("GET", "http://localhost/?foo"))->getQuery());
+ ?>
+
+Yields:
+
+ NULL
+ string(3) "foo"
--- /dev/null
+# array http\Client\Request::getSslOptions()
+
+Retrive priorly set SSL options.
+See http\Client\Request::getOptions() and http\Client\Request::setSslOptions().
+
+## Params:
+
+None.
+
+## Returns:
+
+* array, SSL options.
--- /dev/null
+# http\Client\Request http\Client\Request::setContentType(string $content_type)
+
+Set the MIME content type of the request message.
+
+## Params:
+
+* string $content_type
+ The MIME type used as "Content-Type".
+
+## Returns:
+
+* http\Client\Request, self.
+
+
+## Errors:
+
+* HTTP_E_INVALID_PARAM, if $content_type does not follow the general "primary/secondary" notation.
--- /dev/null
+# http\Client\Request http\Client\Request::setOptions([array $options = NULL])
+
+Set client options.
+See http\Client::setOptions() and http\Client\Curl.
+
+> **Note:** Only options specified prior enqueueing a request are applied to the request.
+
+## Params:
+
+* Optional array $options = NULL
+ The options to set.
+
+## Returns:
+
+* http\Client\Request, self.
+
--- /dev/null
+# http\Client\Request http\Client\Request::setQuery([mixed $query_data = NULL])
+
+(Re)set the querystring.
+See http\Client\Request::addQuery() and http\Message::setRequestUrl().
+
+## Params:
+
+* mixed $query_data, new querystring data.
+
+## Returns:
+
+* http\Client\Request, self.
+
+## Example:
+
+ <?php
+ $q = new http\QueryString("foo=bar&bar=foo");
+ $r = new http\Client\Request;
+ $r->setQuery($q);
+ var_dump($r->getRequestUrl());
+ ?>
+
+Yields:
+
+ string(33) "http://localhost/?foo=bar&bar=foo"
--- /dev/null
+# http\Client\Request http\Client\Request::setSslOptions([array $ssl_options = NULL])
+
+Specifically set SSL options.
+See http\Client\Request::setOptions() and http\Client\Curl::$ssl options.
+
+## Params:
+
+* Optional array $ssl_options = NULL
+ Set SSL options to this array.
+
+## Returns:
+
+* http\Client\Request, self.