X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Ffunctions.html;h=e44c943d97bd552c9f16ec0599f07c49994ff4de;hb=234dac3f03c6b7342bb70829bc9641268cab7156;hp=92a14ca2eea4463d0187c7ef2a67dc72ef88872c;hpb=624d6e2d2b7449fcbc736a1536521261704f7da7;p=m6w6%2Fext-http diff --git a/docs/functions.html b/docs/functions.html index 92a14ca..e44c943 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -170,6 +170,8 @@ content body. The returned array may look simliar to the following example:
<Get a list of incoming HTTP headers.
+Get the raw request body (e.g. POST or PUT data).
Match an incoming HTTP header.
- redirect: - lastmodified: int, timestamp for If-(Un)Modified-Since header
- timeout: int, seconds the request may take
- connecttimeout: int, seconds the connect may take
- - onprogress: mixed, progress callback
- - ondebug: mixed, debug callback
The optional third parameter will be filled with some additional information
+ - onprogress: mixed, progress callback
The optional third parameter will be filled with some additional information
in form af an associative array, if supplied, like the following example:
<?php
array (
'effective_url' => 'http://localhost',
'response_code' => 403,
'total_time' => 0.017,
'namelookup_time' => 0.013,
'connect_time' => 0.014,
'pretransfer_time' => 0.014,
'size_upload' => 0,
'size_download' => 202,
'speed_download' => 11882,
'speed_upload' => 0,
'header_size' => 145,
'request_size' => 62,
'ssl_verifyresult' => 0,
'filetime' => -1,
'content_length_download' => 202,
'content_length_upload' => 0,
'starttransfer_time' => 0.017,
'content_type' => 'text/html; charset=iso-8859-1',
'redirect_time' => 0,
'redirect_count' => 0,
'private' => '',
'http_connectcode' => 0,
'httpauth_avail' => 0,
'proxyauth_avail' => 0,
)
?>
@@ -256,81 +257,7 @@ See http_get() for a full list of available options.string http_build_query(mixed formdata [, string prefix[, string arg_separator]])
Generates a form-encoded query string from an associative array or object.
-http_methods.c
-HttpResponse
-void HttpResponse::__construct(bool cache, bool gzip)
-Instantiates a new HttpResponse object, which can be used to send
-
-any data/resource/file to an HTTP client with caching and multiple
-ranges/resuming support.
-
-NOTE: GZIPping is not implemented yet.bool HttpResponse::setCache(bool cache)
-Whether it sould be attempted to cache the entitity.
-
-This will result in necessary caching headers and checks of clients
-"If-Modified-Since" and "If-None-Match" headers. If one of those headers
-matches a "304 Not Modified" status code will be issued.
-
-NOTE: If you're using sessions, be shure that you set session.cache_limiter
-to something more appropriate than "no-cache"!bool HttpResponse::getCache()
-Get current caching setting.
-bool HttpResponse::setGzip(bool gzip)
-Enable on-thy-fly gzipping of the sent entity. NOT IMPLEMENTED YET.
-bool HttpResponse::getGzip()
-Get current gzipping setting.
-bool HttpResponse::setCacheControl(string control[, bool raw = false])
-Set a custom cache-control header, usually being "private" or "public"; if
-
-$raw is set to true the header will be sent as-is.string HttpResponse::getCacheControl()
-Get current Cache-Control header setting.
-bool HttpResponse::setContentType(string content_type)
-Set the content-type of the sent entity.
-string HttpResponse::getContentType()
-Get current Content-Type header setting.
-bool HttpResponse::setContentDisposition(string filename[, bool inline = false])
-Set the Content-Disposition of the sent entity. This setting aims to suggest
-
-the receiveing user agent how to handle the sent entity; usually the client
-will show the user a "Save As..." popup.array HttpResponse::getContentDisposition()
-Get current Content-Disposition setting.
-Will return an associative array like:array(-
- 'filename' => 'foo.bar',
- 'inline' => false
-)
-bool HttpResponse::setETag(string etag)
-Set a custom ETag. Use this only if you know what you're doing.
-string HttpResponse::getETag()
-Get the previously set custom ETag.
-void HttpResponse::setThrottleDelay(double seconds)
- -double HttpResponse::getThrottleDelay()
- -void HttpResponse::setSendBuffersize(long bytes)
- -long HttpResponse::getSendBuffersize()
- -bool HttpResponse::setData(string data)
-Set the data to be sent.
-string HttpResponse::getData()
-Get the previously set data to be sent.
-bool HttpResponse::setStream(resource stream)
-Set the resource to be sent.
-resource HttpResponse::getStream()
-Get the previously set resource to be sent.
-bool HttpResponse::setFile(string file)
-Set the file to be sent.
-string HttpResponse::getFile()
-Get the previously set file to be sent.
-bool HttpResponse::send([bool clean_ob = true])
-Finally send the entity.
-
-Example:+
-<?php
$r = new HttpResponse(true);
$r->setFile('../hidden/contract.pdf');
$r->setContentType('application/pdf');
$r->send();
?>
-
-
-
-http_message_object.c
HttpMessage
void HttpMessage::__construct([string message])
Instantiate a new HttpMessage object.
@@ -377,6 +304,8 @@ Returns false if version is invalid (1.0 and 1.1).Send the Message according to its type as Response or Request.
string HttpMessage::toString([bool include_parent = true])
Get the string representation of the Message.
+
+http_request_object.c
HttpRequest
void HttpRequest::__construct([string url[, long request_method = HTTP_GET]])
Instantiate a new HttpRequest object which can be used to issue HEAD, GET
@@ -407,9 +336,9 @@ and POST (including posting files) HTTP requests.Get previously set cookies.
void HttpRequest::unsetCookies()
-bool HttpRequest::setURL(string url)
+bool HttpRequest::setUrl(string url)
Set the request URL.
-string HttpRequest::getUrl()
+string HttpRequest::getUrl()
Get the previously set request URL.
bool HttpRequest::setMethod(long request_method)
Set the request methods; one of the HTTP_HEAD, HTTP_GET or
@@ -448,7 +377,7 @@ Affects only POST requests.bool HttpRequest::addPostFile(string name, string file[, string content_type = "application/x-octetstream"])
Add a file to the POST request.
-
Affects only POST requests.bool HttpRequest::setPostFiles()
+bool HttpRequest::setPostFiles(array post_files)
Set files to post.
@@ -480,6 +409,8 @@ Affects only PUT requests. See http_get() for a full list of returned info.
Overwrites previously set post files.
Affects only POST requests.HttpMessage HttpRequest::getResponseMessage()
Get the full response as HttpMessage object.
+HttpMessage HttpRequest::getRequestMessage()
+Get sent HTTP message.
bool HttpRequest::send()
Send the HTTP request.
@@ -492,13 +423,15 @@ GET example:+
+http_requestpool_object.c
HttpRequestPool
-void HttpRequestPool::__construct()
+void HttpRequestPool::__construct([HttpRequest request[, ...]])
Instantiate a new HttpRequestPool object. An HttpRequestPool is
able to send several HttpRequests in parallel.
Example:
-<?php
$urls = array('www.php.net', 'pecl.php.net', 'pear.php.net')
$pool = new HttpRequestPool;
foreach ($urls as $url) {
$req[$url] = new HttpRequest("http://$url", HTTP_HEAD);
$pool->attach($req[$url]);
}
$pool->send();
foreach ($urls as $url) {
printf("%s (%s) is %s\n",
$url, $req[$url]->getResponseInfo('effective_url'),
$r->getResponseCode() == 200 ? 'alive' : 'not alive'
);
}
?>
+<?php
try {
$pool = new HttpRequestPool(
new HttpRequest('http://www.google.com/', HTTP_HEAD),
new HttpRequest('http://www.php.net/', HTTP_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;
}
?>
@@ -525,8 +458,91 @@ NOTE: set all options prior attaching!See HttpRequestPool::socketSend().
protected void HttpRequestPool::socketRead()
See HttpRequestPool::socketSend().
+bool HttpRequestPool::valid()
+Implements Iterator::valid().
+HttpRequest HttpRequestPool::current()
+Implements Iterator::current().
+long HttpRequestPool::key()
+Implements Iterator::key().
+void HttpRequestPool::next()
+Implements Iterator::next().
+void HttpRequestPool::rewind()
+Implements Iterator::rewind().
+
+http_response_object.c
+static bool HttpResponse::setCache(bool cache)
+Whether it sould be attempted to cache the entitity.
+
+This will result in necessary caching headers and checks of clients
+"If-Modified-Since" and "If-None-Match" headers. If one of those headers
+matches a "304 Not Modified" status code will be issued.
+
+NOTE: If you're using sessions, be shure that you set session.cache_limiter
+to something more appropriate than "no-cache"!static bool HttpResponse::getCache()
+Get current caching setting.
+static bool HttpResponse::setGzip(bool gzip)
+Enable on-thy-fly gzipping of the sent entity. NOT IMPLEMENTED YET.
+static bool HttpResponse::getGzip()
+Get current gzipping setting.
+static bool HttpResponse::setCacheControl(string control[, long max_age = 0])
+Set a custom cache-control header, usually being "private" or "public";
+
+The max_age parameter controls how long the cache entry is valid on the client side.static string HttpResponse::getCacheControl()
+Get current Cache-Control header setting.
+static bool HttpResponse::setContentType(string content_type)
+Set the content-type of the sent entity.
+static string HttpResponse::getContentType()
+Get current Content-Type header setting.
+static bool HttpResponse::setContentDisposition(string filename[, bool inline = false])
+Set the Content-Disposition of the sent entity. This setting aims to suggest
+
+the receiveing user agent how to handle the sent entity; usually the client
+will show the user a "Save As..." popup.static string HttpResponse::getContentDisposition()
+Get current Content-Disposition setting.
+static bool HttpResponse::setETag(string etag)
+Set a custom ETag. Use this only if you know what you're doing.
+static string HttpResponse::getETag()
+Get the previously set custom ETag.
+static void HttpResponse::setThrottleDelay(double seconds)
+ +static double HttpResponse::getThrottleDelay()
+ +static void HttpResponse::setBufferSize(long bytes)
+ +static long HttpResponse::getBufferSize()
+ +static bool HttpResponse::setData(string data)
+Set the data to be sent.
+static string HttpResponse::getData()
+Get the previously set data to be sent.
+static bool HttpResponse::setStream(resource stream)
+Set the resource to be sent.
+static resource HttpResponse::getStream()
+Get the previously set resource to be sent.
+static bool HttpResponse::setFile(string file)
+Set the file to be sent.
+static string HttpResponse::getFile()
+Get the previously set file to be sent.
+static bool HttpResponse::send([bool clean_ob = true])
+Finally send the entity.
+
+Example:+
+<?php
HttpResponse::setCache(true);
HttpResponse::setContentType('application/pdf');
HttpResponse::setContentDisposition("$user.pdf", false);
HttpResponse::setFile('sheet.pdf');
HttpResponse::send();
?>
+
+
+
+static void HttpResponse::capture()
+Capture script output.
+
+Example:
+<?php
HttpResponse::setCache(true);
HttpResponse::capture();
// script follows
?>
+
+
+
+
-Generated at: Tue, 14 Jun 2005 16:56:52 +0200
+Generated at: Mon, 01 Aug 2005 09:46:36 +0200