X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=docs%2Ffunctions.html;h=328d3371c6c2eaa1b258d1dd787de3503e6782a9;hb=ad5c874bc157f84d7e9c2fcd261adcfef4b2efe3;hp=e1329bb6d9034cea8ed295454eae73dda45a755c;hpb=7ba82df3144551af4182de7e515f955b9b1a68a9;p=m6w6%2Fext-http diff --git a/docs/functions.html b/docs/functions.html index e1329bb..328d337 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -44,48 +44,38 @@ display: block; } .toc { - position: absolute; - top: 10px; - right: 10px; - width: 300px; - height: 95%; - overflow: scroll; - font-size: .9em; - } - body>div.toc { - position: fixed; - } - .toc ul { - padding-left: 15px; - margin-left: 0; - } - .toc li { - padding: 0; - margin: 0; - } + position: absolute; + top: 10px; + right: 10px; + width: 300px; + height: 95%; + overflow: scroll; + font-size: .9em; + } + body>div.toc { + position: fixed; + } + .toc ul { + padding-left: 15px; + margin-left: 0; + } + .toc li { + padding: 0; + margin: 0; + } + .tocfile { + font-weight: bold; + }
Compose a valid HTTP date regarding RFC 822/1123
looking like: "Wed, 22 Dec 2004 11:34:47 GMT"
Takes an optional unix timestamp as parameter.
-
-Returns the HTTP date as string.
Build a complete URI according to the supplied parameters.
-If the url is already abolute but a different proto was supplied,
-only the proto part of the URI will be updated. If url has no
-path specified, the path of the current REQUEST_URI will be taken.
-The host will be taken either from the Host HTTP header of the client
-the SERVER_NAME or just localhost if prior are not available.
-If a port is pecified in either the url or as sperate parameter,
-it will be added if it differs from te default port for HTTP(S).
Returns the absolute URI as string.
-Examples:
+-
-<?php
$uri = http_build_uri("page.php", "https", NULL, 488);
?>
-
Accepts an optional unix timestamp as parameter.
+Returns the HTTP date as string.
+Returns the new URL as string on success or FALSE on failure.
This function negotiates the clients preferred language based on its
Accept-Language HTTP header. The qualifier is recognized and languages
@@ -113,6 +103,19 @@ if none match.
This function negotiates the clients preferred content type based on its
+Accept HTTP header. The qualifier is recognized and content types
+without qualifier are rated highest.
Expects an array as parameter cotaining the supported content types as values.
+If the optional second parameter is supplied, it will be filled with an
+array containing the negotiation results.
Returns the negotiated content type or the default content type
+(i.e. first array entry) if none match.
Example:
+
+<?php
$ctypes = array('application/xhtml+xml', 'text/html');
http_send_content_type(http_negotiate_content_type($ctypes));
?>
+
Send HTTP status code.
Expects an HTTP status code as parameter.
@@ -183,7 +186,6 @@ the hash algorythm specified with the INI setting "http.etag_mode".Sets the throttle delay and send buffer size for use with http_send() API.
Provides a basic throttling mechanism, which will yield the current process
resp. thread until the entity has been completely sent, though.
Note: This doesn't really work with the FastCGI SAPI.
Expects a double parameter specifying the seconds too sleep() after
each chunk sent. Additionally accepts an optional int parameter
representing the chunk size in bytes.
Redirect to the given url.
-The supplied url will be expanded with http_build_uri(), the params array will
+The supplied url will be expanded with http_build_url(), the params array will
be treated with http_build_query() and the session identification will be appended
if session is true.
The HTTP response code will be set according to status.
You can use one of the following constants for convenience:
- - HTTP_REDIRECT 302 Found
+ - HTTP_REDIRECT 302 Found for GET/HEAD, else 303 See Other
- HTTP_REDIRECT_PERM 301 Moved Permanently
+ - HTTP_REDIRECT_FOUND 302 Found
- HTTP_REDIRECT_POST 303 See Other
+ - HTTP_REDIRECT_PROXY 305 Use Proxy
- HTTP_REDIRECT_TEMP 307 Temporary Redirect
Please see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3
for which redirect response code to use in which situation.
To be RFC compliant, "Redirecting to URI." will be displayed,
+
To be RFC compliant, "Redirecting to URL." will be displayed,
if the client doesn't redirect immediatly, and the request method was
another one than HEAD.
Returns FALSE on failure, or *exits* on success.
@@ -240,7 +244,15 @@ several consecutive HTTP messages.Expects a string parameter containing HTTP headers.
Returns an array on success, or FALSE on failure.
Example:
++
-<?php
$headers = "content-type: text/html; charset=UTF-8\r\n".
"Server: Funky/1.0\r\n".
"Set-Cookie: foo=bar\r\n".
"Set-Cookie: baz=quux\r\n".
"Folded: works\r\n\ttoo\r\n";
print_r(http_parse_headers($headers));
Array
(
[Content-Type] => text/html; chatset=UTF-8
[Server] => Funky/1.0
[Set-Cookie] => Array
(
[0] => foo=bar
[1] => baz=quux
)
[Folded] => works
too
?>
+<?php
$headers = "content-type: text/html; charset=UTF-8\r\n".
"Server: Funky/1.0\r\n".
"Set-Cookie: foo=bar\r\n".
"Set-Cookie: baz=quux\r\n".
"Folded: works\r\n\ttoo\r\n";
print_r(http_parse_headers($headers));
Array
(
[Content-Type] => text/html; chatset=UTF-8
[Server] => Funky/1.0
[Set-Cookie] => Array
(
[0] => foo=bar
[1] => baz=quux
)
[Folded] => works
too
)
?>
+
Parses HTTP cookies like sent in a response into a struct.
+Expects a string as parameter containing the value of a Set-Cookie response header.
+Returns an stdClass object with the cookie params as properties on success or FALSE on failure.
+Example:
+<?php
print_r(http_parse_cookie("foo=bar; path=/"));
stdClass Object
(
[name] => foo
[value] => bar
[path] => /
)
?>
Returns an associative array of incoming request headers.
Get the raw request body (e.g. POST or PUT data).
-Returns NULL when using the CLI SAPI.
+This function can not be used after http_get_request_body_stream()
+if the request method was another than POST.
Returns the raw request body as string on success or NULL on failure.
+Create a stream to read the raw request body (e.g. POST or PUT data).
+This function can only be used once if the request method was another than POST.
+Returns the raw request body as stream on success or NULL on failure.
Match an incoming HTTP header.
Expects two string parameters representing the header name (case-insensitive)
@@ -337,39 +355,23 @@ See http_get() for a full list of available options.
Returns the request method name as string on success, or FALSE on failure.
Generates a form-encoded query string from an associative array or object.
-Compress data with the HTTP compatible GZIP encoding.
-Expects the first parameter to be a string which contains the data that
-should be encoded. Additionally accepts an optional in paramter specifying
-the compression level, where -1 is default, 0 is no compression and 9 is
-best compression ratio.
Returns the encoded string on success, or NULL on failure.
-Uncompress data compressed with the HTTP compatible GZIP encoding.
-Expects a string as parameter containing the compressed data.
-Returns the decoded string on success, or NULL on failure.
-Compress data with the HTTP compatible DEFLATE encoding.
+Compress data with gzip, zlib AKA deflate or raw deflate encoding.
Expects the first parameter to be a string containing the data that should
-be encoded. Additionally accepts an optional int parameter specifying the
-compression level, where -1 is default, 0 is no compression and 9 is best
-compression ratio.
Returns the encoded string on success, or NULL on failure.
Uncompress data compressed with the HTTP compatible DEFLATE encoding.
-Expects a string as parameter containing the compressed data.
-Returns the decoded string on success, or NULL on failure.
-Compress data with the HTTP compatible COMPRESS encoding.
-Expects the first parameter to be a string containing the data which should
-be encoded. Additionally accepts an optional int parameter specifying the
-compression level, where -1 is default, 0 is no compression and 9 is best
-compression ratio.
Returns the encoded string on success, or NULL on failure.
-Uncompress data compressed with the HTTP compatible COMPRESS encoding.
+Uncompress data compressed with either gzip, deflate AKA zlib or raw
+deflate encoding.
Expects a string as parameter containing the compressed data.
Returns the decoded string on success, or NULL on failure.
+For use with ob_start(). The deflate output buffer handler can only be used once.
+It conflicts with ob_gzhanlder and zlib.output_compression as well and should
+not be used after ext/mbstrings mb_output_handler and ext/sessions URL-Rewriter (AKA
+session.use_trans_sid).
For use with ob_start(). Same restrictions as with ob_deflatehandler apply.
Check for feature that require external libraries.
Accpepts an optional in parameter specifying which feature to probe for.
@@ -384,14 +386,41 @@ all supported features that depend on external libraries.
Returns int, whether requested feature is supported, or a bitmask with
all supported features.
Creates a new HttpDeflateStream object instance.
+Accepts an optional int parameter specifying how to initialize the deflate stream.
+Passes more data through the deflate stream.
+Expects a string parameter containing (a part of) the data to deflate.
+Returns deflated data on success or FALSE on failure.
+Flushes the deflate stream.
+Returns some deflated data as string on success or FALSE on failure.
+Finalizes the deflate stream. The deflate stream can be reused after finalizing.
+Returns the final part of deflated data.
+Passes more data through the inflate stream.
+Expects a string parameter containing (a part of) the data to inflate.
+Returns inflated data on success or FALSE on failure.
+Flush the inflate stream.
+Returns some inflated data as string on success or FALSE on failure.
+Finalizes the inflate stream. The inflate stream can be reused after finalizing.
+Returns the final part of inflated data.
+Throws HttpMalformedHeaderException.
-Create an HttpMessage object from a string. Kind of a static constructor.
Expects a string parameter containing a sinlge or several consecutive
-HTTP messages.
Returns an HttpMessage object on success or NULL on failure.
Throws HttpMalformedHeadersException.
Expects a string parameter containing the request method name.
Returns TRUE on success, or FALSE if the message is not of type
HttpMessage::TYPE_REQUEST or an invalid request method was supplied.
Get the Request URI of the Message.
-Returns the request uri as string on success, or FALSE if the message
+
Get the Request URL of the Message.
+Returns the request url as string on success, or FALSE if the message
is not of type HttpMessage::TYPE_REQUEST.
Set the Request URI of the HTTP Message.
-Expects a string parameters containing the request uri.
+Set the Request URL of the HTTP Message.
+Expects a string parameters containing the request url.
Returns TRUE on success, or FALSE if the message is not of type
-HttpMessage::TYPE_REQUEST or supplied URI was empty.
Get the HTTP Protocol Version of the Message.
Returns the HTTP protocol version as string.
@@ -480,6 +509,54 @@ This provides limited functionality compared to HttpRequest and HttpResponse.Accepts a bool parameter which specifies whether the returned stringReturns the full message as string.
+Creates an object regarding to the type of the message.
+Returns either an HttpRequest or HttpResponse object on success, or NULL on failure.
+Throws HttpRuntimeException, HttpMessageTypeException, HttpHeaderException.
+Implements Countable.
+Returns the number of parent messages + 1.
+Implements Serializable.
+Returns the serialized representation of the HttpMessage.
+Implements Serializable.
+Re-constructs the HttpMessage based upon the serialized string.
+Returns a clone of an HttpMessage object detached from any parent messages.
+Prepends message(s) to the HTTP message.
+Expects an HttpMessage object as parameter.
+Implements Iterator.
+Implements Iterator.
+Implements Iterator.
+Implements Iterator.
+Implements Iterator.
+Creates a new HttpQueryString object instance.
+Operates on and modifies $_GET and $_SERVER['QUERY_STRING'] if global is TRUE.
Returns the string representation.
+Get (part of) the query string.
+The type parameter is either one of the HttpQueryString::TYPE_* constants or a type abbreviation like
+"b" for bool, "i" for int, "f" for float, "s" for string, "a" for array and "o" for a stdClass object.
Set a query string entry.
+Deletes entry/entries from the query string.
+Modifies the query string according to params. NULL values will unset the variable.
+Get a single instance (differentiates between the global setting).
Throws HttpException.
-Destroys the HttpRequest object.
Set the request options to use. See http_get() for a full list of available options.
Accepts an array as optional parameters, wich values will overwrite the
@@ -549,7 +624,7 @@ pairs to add.
Set the request method.
Expects an int as parameter specifying the request method to use.
-In PHP 5.1+ HttpRequest::METH, otherwise the HTTP_METH constants can be used.
Returns TRUE on success, or FALSE on failure.
Get the previously set request method.
@@ -697,6 +772,17 @@ cycle. references the last received response. Use HttpMessage::getParentMessage()Note that the internal request message is immutable, that means that the
+request message received through HttpRequest::getRequestMessage() will
+always look the same for the same request, regardless of any changes you
+may have made to the returned object.
Throws HttpMalformedHeadersException, HttpEncodingException.
+Get sent HTTP message.
+Returns an HttpMessage in a form of a string
+Get the entire HTTP response.
+Returns the complete web server response, including the headers in a form of a string.
Get all sent requests and received responses as an HttpMessage object.
If you don't want to record history at all, set the instance variable
@@ -705,20 +791,26 @@ HttpRequest::$recoedHistory to FALSE.
The object references the last received response, use HttpMessage::getParentMessage()
to access the data of previously sent requests and received responses.
Throws HttpMalformedHeaderException.
+Note that the internal history is immutable, that means that any changes
+you make the the message list won't affect a history message list newly
+created by another call to HttpRequest::getHistory().
Throws HttpMalformedHeaderException, HttpEncodingException.
Clear the history.
Send the HTTP request.
Returns the received response as HttpMessage object.
+NOTE: While an exception may be thrown, the transfer could have succeeded
+at least partially, so you might want to check the return values of various
+HttpRequest::getResponse*() methods.
Throws HttpRuntimeException, HttpRequestException,
HttpMalformedHeaderException, HttpEncodingException.
GET example:
-<?php
$r = new HttpRequest('http://example.com/feed.rss', HTTP_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
try {
$r->send();
if ($r->getResponseCode() == 200) {
file_put_contents('local.rss', $r->getResponseBody());
}
} catch (HttpException $ex) {
echo $ex;
}
?>
+<?php
$r = new HttpRequest('http://example.com/feed.rss', HttpRequest::METH_GET);
$r->setOptions(array('lastmodified' => filemtime('local.rss')));
$r->addQueryData(array('category' => 3));
try {
$r->send();
if ($r->getResponseCode() == 200) {
file_put_contents('local.rss', $r->getResponseBody());
}
} catch (HttpException $ex) {
echo $ex;
}
?>
POST example:
-<?php
$r = new HttpRequest('http://example.com/form.php', HTTP_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
try {
echo $r->send()->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>
+<?php
$r = new HttpRequest('http://example.com/form.php', HttpRequest::METH_POST);
$r->setOptions(array('cookies' => array('lang' => 'de')));
$r->addPostFields(array('user' => 'mike', 'pass' => 's3c|r3t'));
$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
try {
echo $r->send()->getBody();
} catch (HttpException $ex) {
echo $ex;
}
?>
Instantiate a new HttpRequestPool object. An HttpRequestPool is
able to send several HttpRequests in parallel.
WARNING: Don't attach/detach HttpRequest objects to the HttpRequestPool
-object while you're using the implemented Interator interface.
Accepts virtual infinite optional parameters each referencing an
HttpRequest object.
Throws HttpRequestException, HttpRequestPoolException, HttpInvalidParamException.
+Throws HttpRequestPoolException (HttpRequestException, HttpInvalidParamException).
Example:
@@ -757,8 +849,7 @@ HttpRequestPool object.
<?php
try {
$pool = new HttpRequestPool(
new HttpRequest('http://www.google.com/', HttpRequest::METH_HEAD),
new HttpRequest('http://www.php.net/', HttpRequest::METH_HEAD)
);
$pool->send();
foreach($pool as $request) {
printf("%s is %s (%d)\n",
$request->getUrl(),
$request->getResponseCode() ? 'alive' : 'not alive',
$request->getResponseCode()
);
}
} catch (HttpException $e) {
echo $e;
}
?>
bool HttpRequestPool::send()
Send all attached HttpRequest objects in parallel.
Returns TRUE on success, or FALSE on failure.
-Throws HttpSocketException, HttpRequestException,
+
-HttpRequestPoolException, HttpMalformedHeaderException.Throws HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException).
protected bool HttpRequestPool::socketPerform()
Returns TRUE until each request has finished its transaction.
Usage:
@@ -778,6 +869,9 @@ HttpRequestPoolException, HttpMalformedHeaderException.Implements Iterator::next().
void HttpRequestPool::rewind()
Implements Iterator::rewind().
+int HttpRequestPool::count()
+Implements Countable.
+Returns the number of attached HttpRequest objects.
array HttpRequestPool::getAttachedRequests()
Get attached HttpRequest objects.
Returns an array containing all currently attached HttpRequest objects.
@@ -787,6 +881,7 @@ HttpRequestPoolException, HttpMalformedHeaderException. already have finished their work.
http_response_object.c
+HttpResponse
static bool HttpResponse::setHeader(string name, mixed value[, bool replace = true])
Send an HTTP header.
Expects a string parameter containing the name of the header and a mixed
@@ -943,16 +1038,18 @@ http.cache_log is set.
Table of Contents--
+ +- http_functions.c +
- http_functions.c
-
- http_date
-- http_build_uri +
- http_build_url
- http_negotiate_language
- http_negotiate_charset
+- http_negotiate_content_type +
- http_send_status
- http_send_last_modified @@ -987,10 +1084,14 @@ http.cache_log is set.
- http_parse_headers
+- http_parse_cookie +
- http_get_request_headers
- http_get_request_body
+- http_get_request_body_stream +
- http_match_request_header
- http_get @@ -1015,23 +1116,36 @@ http.cache_log is set.
- http_build_query
-- http_gzencode -
-- http_gzdecode -
- http_deflate
- http_inflate
-- http_compress +
- ob_deflatehandler
-- http_uncompress +
- ob_inflatehandler
- http_support
- http_message_object.c +
- http_deflatestream_object.c +
+http_inflatestream_object.c + + + +http_message_object.c + + +
- HttpMessage::__construct()
- HttpMessage::fromString()
@@ -1046,20 +1160,42 @@ http.cache_log is set.- HttpMessage::setResponseCode()
- HttpMessage::getRequestMethod()
- HttpMessage::setRequestMethod()
-- HttpMessage::getRequestUri()
-- HttpMessage::setRequestUri()
+- HttpMessage::getRequestUrl()
+- HttpMessage::setRequestUrl()
- HttpMessage::getHttpVersion()
- HttpMessage::setHttpVersion()
- HttpMessage::getParentMessage()
- HttpMessage::send()
- HttpMessage::toString()
+- HttpMessage::toMessageTypeObject()
+- HttpMessage::count()
+- HttpMessage::serialize()
+- HttpMessage::unserialize()
+- HttpMessage::detach()
+- HttpMessage::prepend()
+- HttpMessage::rewind()
+- HttpMessage::valid()
+- HttpMessage::next()
+- HttpMessage::key()
+- HttpMessage::current()
+http_querystring_object.c + -http_request_object.c + -http_request_object.c
- HttpRequest::__construct()
-- HttpRequest::__destruct()
- HttpRequest::setOptions()
- HttpRequest::getOptions()
- HttpRequest::setSslOptions()
@@ -1099,13 +1235,15 @@ http.cache_log is set.- HttpRequest::getResponseInfo()
- HttpRequest::getResponseMessage()
- HttpRequest::getRequestMessage()
+- HttpRequest::getRawRequestMessage()
+- HttpRequest::getRawResponseMessage()
- HttpRequest::getHistory()
- HttpRequest::clearHistory()
- HttpRequest::send()
http_requestpool_object.c + -http_requestpool_object.c http_response_object.c + http_response_object.c
- HttpResponse::setHeader()
- HttpResponse::getHeader()
@@ -1161,7 +1300,7 @@ http.cache_log is set.Generated at: Fri, 04 Nov 2005 12:29:06 +0100
+Generated at: Mon, 30 Jan 2006 18:56:09 +0100