X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=docs%2Ffunctions.html;h=16dd0a54d55bb04ca28bdac20fda42fe6518e2d9;hp=46a2028ae27a83cdb0dec5a3ad8f467c7a7da302;hb=07af5d267afdfdaa2b7e9c29174364bf313634ef;hpb=b53012a3ad1545ecbcb4579929a00c34f94e6933 diff --git a/docs/functions.html b/docs/functions.html index 46a2028..16dd0a5 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -1,44 +1,97 @@ -Function Summary - - -

http.c

+ + Function Summary of ext/http + + +

http_functions.c

string http_date([int timestamp])

This function returns a valid HTTP date regarding RFC 822/1123
looking like: "Wed, 22 Dec 2004 11:34:47 GMT"

-

string http_absolute_uri(string url[, string proto])

+

string http_absolute_uri(string url[, string proto[, string host[, int port]]])

This function returns an absolute URI constructed from url.
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.

Some examples:
-


-url = "page.php" => http://www.example.com/current/path/page.php
-url = "/page.php" => http://www.example.com/page.php
-url = "/page.php", proto = "https" => https://www.example.com/page.php
+the SERVER_NAME or just localhost if prior are not available.
+
+Some examples:

 url = "page.php"                    => http://www.example.com/current/path/page.php
+ url = "/page.php" => http://www.example.com/page.php
+ url = "/page.php", proto = "https" => https://www.example.com/page.php

string http_negotiate_language(array supported[, string default = 'en-US'])

This function negotiates the clients preferred language based on its
Accept-Language HTTP header. It returns the negotiated language or
-the default language if none match.

The qualifier is recognized and languages without qualifier are rated highest.

The supported parameter is expected to be an array having
-the supported languages as array values.

Example:
-


-
-<?php
$langs
= array(
        
'en-US',// default
        
'fr',
        
'fr-FR',
        
'de',
        
'de-DE',
        
'de-AT',
        
'de-CH',
);
include
'./langs/'. http_negotiate_language($langs) .'.php';
?>
-

-

+the default language if none match.
+
+The qualifier is recognized and languages without qualifier are rated highest.
+
+The supported parameter is expected to be an array having
+the supported languages as array values.
+
+Example:


+<?php
$langs 
= array(
        
'en-US',// default
        
'fr',
        
'fr-FR',
        
'de',
        
'de-DE',
        
'de-AT',
        
'de-CH',
);
include 
'./langs/'http_negotiate_language($langs) .'.php';
?>
+

+

+

string http_negotiate_charset(array supported[, string default = 'iso-8859-1'])

This function negotiates the clients preferred charset based on its
Accept-Charset HTTP header. It returns the negotiated charset or
-the default charset if none match.

The qualifier is recognized and charset without qualifier are rated highest.

The supported parameter is expected to be an array having
-the supported charsets as array values.

Example:
-


-
-<?php
$charsets
= array(
        
'iso-8859-1', // default
        
'iso-8859-2',
        
'iso-8859-15',
        
'utf-8'
);
$pref = http_negotiate_charset($charsets);
if (!
strcmp($pref, 'iso-8859-1')) {
        
iconv_set_encoding('internal_encoding', 'iso-8859-1');
        
iconv_set_encoding('output_encoding', $pref);
        
ob_start('ob_iconv_handler');
}
?>
-

-

+the default charset if none match.
+
+The qualifier is recognized and charset without qualifier are rated highest.
+
+The supported parameter is expected to be an array having
+the supported charsets as array values.
+
+Example:


+<?php
$charsets 
= array(
        
'iso-8859-1'// default
        
'iso-8859-2',
        
'iso-8859-15',
        
'utf-8'
);
$pref http_negotiate_charset($charsets);
if (!
strcmp($pref'iso-8859-1')) {
        
iconv_set_encoding('internal_encoding''iso-8859-1');
        
iconv_set_encoding('output_encoding'$pref);
        
ob_start('ob_iconv_handler');
}
?>
+

+

+

bool http_send_status(int status)

Send HTTP status code.

@@ -46,14 +99,20 @@ the supported charsets as array values.

Example:

This converts the given timestamp to a valid HTTP date and
sends it as "Last-Modified" HTTP header. If timestamp is
omitted, current time is sent.

-

bool http_match_modified([int timestamp])

+

bool http_send_content_type([string content_type = 'application/x-octetstream'])

+

Sets the content type.

+

bool http_send_content_disposition(string filename[, bool inline = false])

+

Set the Content Disposition. The Content-Disposition header is very useful
+if the data actually sent came from a file or something similar, that should
+be "saved" by the client/user (i.e. by browsers "Save as..." popup window).

+

bool http_match_modified([int timestamp[, for_range = false]])

Matches the given timestamp against the clients "If-Modified-Since" resp.
"If-Unmodified-Since" HTTP headers.

-

bool http_match_etag(string etag)

+

bool http_match_etag(string etag[, for_range = false])

This matches the given ETag against the clients
"If-Match" resp. "If-None-Match" HTTP headers.

bool http_cache_last_modified([int timestamp_or_expires]])

-

If timestamp_or_exires is greater than 0, it is handled as timestamp
+

If timestamp_or_expires is greater than 0, it is handled as timestamp
and will be sent as date of last modification. If it is 0 or omitted,
the current time will be sent as Last-Modified date. If it's negative,
it is handled as expiration time in seconds, which means that if the
@@ -62,16 +121,33 @@ the Last-Modified header is updated and the actual body will be sent.

bool http_cache_etag([string etag])

This function attempts to cache the HTTP body based on an ETag,
either supplied or generated through calculation of the MD5
-checksum of the output (uses output buffering).

If clients "If-None-Match" header matches the supplied/calculated
+checksum of the output (uses output buffering).
+
+If clients "If-None-Match" header matches the supplied/calculated
ETag, the body is considered cached on the clients side and
a "304 Not Modified" status code is issued.

+

string ob_etaghandler(string data, int mode)

+

For use with ob_start().

+

void http_throttle(double sec[, long bytes = 2097152])

+

Use with http_send() API.
+
+Example:


+<?php
// ~ 20 kbyte/s
# http_throttle(1, 20000);
# http_throttle(0.5, 10000);
# http_throttle(0.1, 2000);
http_send_file('document.pdf');
?>
+

+

+
+

void http_redirect([string url[, array params[, bool session,[ bool permanent]]]])

Redirect to a given url.
The supplied url will be expanded with http_absolute_uri(), the params array will
be treated with http_build_query() and the session identification will be appended
-if session is true.

Depending on permanent the redirection will be issued with a permanent
+if session is true.
+
+Depending on permanent the redirection will be issued with a permanent
("301 Moved Permanently") or a temporary ("302 Found") redirection
-status code.

To be RFC compliant, "Redirecting to URI." will be displayed,
+status code.
+
+To be RFC compliant, "Redirecting to URI." will be displayed,
if the client doesn't redirect immediatly.

bool http_send_data(string data)

Sends raw data with support for (multiple) range requests.

@@ -79,84 +155,371 @@ if the client doesn't redirect immediatly.

Sends a file with support for (multiple) range requests.

bool http_send_stream(resource stream)

Sends an already opened stream with support for (multiple) range requests.

-

bool http_content_type([string content_type = 'application/x-octetstream'])

-

Sets the content type.

-

bool http_content_disposition(string filename[, bool inline = false])

-

Set the Content Disposition. The Content-Disposition header is very useful
-if the data actually sent came from a file or something similar, that should
-be "saved" by the client/user (i.e. by browsers "Save as..." popup window).

string http_chunked_decode(string encoded)

This function decodes a string that was HTTP-chunked encoded.
Returns false on failure.

-

array http_split_response(string http_response)

-

This function splits an HTTP response into an array with headers and the
-content body. The returned array may look simliar to the following example:


-array(
-0 => array(
-'Status' => '200 Ok',
-'Content-Type' => 'text/plain',
-'Content-Language' => 'en-US'
-),
-1 => "Hello World!"
-);
+

object http_parse_message(string message)

+

Parses (a) http_message(s) into a simple recursive object structure:


+<?php
print_r
(http_parse_message(http_get(URL, array('redirect' => 3)));

stdClass object
(
    [
type] => 2
    
[httpVersion] => 1.1
    
[responseCode] => 200
    
[headers] => Array 
        (
            [
Content-Length] => 3
            
[Server] => Apache
        
)
    [
body]  => Hi!
    [
parentMessage] => stdClass object
    
(
        [
type] => 2
        
[httpVersion] => 1.1
        
[responseCode] => 302
        
[headers] => Array 
            (
                [
Content-Length] => 0
                
[Location] => ...
            )
        [
body]  => 
        [
parentMessage] => ...
    )
)
?>
+

+

+

-

array http_parse_headers(string header) */

+

array http_parse_headers(string header)

+

array http_get_request_headers(void)

+

Get a list of incoming HTTP headers.

+

string http_get_request_body(void)

+

Get the raw request body (e.g. POST or PUT data).

+

bool http_match_request_header(string header, string value[, bool match_case = false])

+

Match an incoming HTTP header.

string http_get(string url[, array options[, array &info]])

-

Performs an HTTP GET request on the supplied url.

The second parameter is expected to be an associative
-array where the following keys will be recognized:
-


-- redirect: int, whether and how many redirects to follow
-- unrestrictedauth: bool, whether to continue sending credentials on
-redirects to a different host
-- proxyhost: string, proxy host in "host[:port]" format
-- proxyport: int, use another proxy port as specified in proxyhost
-- proxyauth: string, proxy credentials in "user:pass" format
-- proxyauthtype: int, HTTP_AUTH_BASIC and/or HTTP_AUTH_NTLM
-- httpauth: string, http credentials in "user:pass" format
-- httpauthtype: int, HTTP_AUTH_BASIC, DIGEST and/or NTLM
-- compress: bool, whether to allow gzip/deflate content encoding
-(defaults to true)
-- port: int, use another port as specified in the url
-- referer: string, the referer to sends
-- useragent: string, the user agent to send
-(defaults to PECL::HTTP/version (PHP/version)))
-- headers: array, list of custom headers as associative array
-like array("header" => "value")
-- cookies: array, list of cookies as associative array
-like array("cookie" => "value")
-- cookiestore: string, path to a file where cookies are/will be stored
-

The optional third parameter will be filled with some additional information
-in form af an associative array, if supplied (don't forget to initialize it
-with NULL or array()).

+

Performs an HTTP GET request on the supplied url.
+
+The second parameter is expected to be an associative
+array where the following keys will be recognized:

 - redirect:         int, whether and how many redirects to follow
+ - unrestrictedauth: bool, whether to continue sending credentials on
+ redirects to a different host
+ - proxyhost: string, proxy host in "host[:port]" format
+ - proxyport: int, use another proxy port as specified in proxyhost
+ - proxyauth: string, proxy credentials in "user:pass" format
+ - proxyauthtype: int, HTTP_AUTH_BASIC and/or HTTP_AUTH_NTLM
+ - httpauth: string, http credentials in "user:pass" format
+ - httpauthtype: int, HTTP_AUTH_BASIC, DIGEST and/or NTLM
+ - compress: bool, whether to allow gzip/deflate content encoding
+ (defaults to true)
+ - port: int, use another port as specified in the url
+ - referer: string, the referer to sends
+ - useragent: string, the user agent to send
+ (defaults to PECL::HTTP/version (PHP/version)))
+ - headers: array, list of custom headers as associative array
+ like array("header" => "value")
+ - cookies: array, list of cookies as associative array
+ like array("cookie" => "value")
+ - cookiestore: string, path to a file where cookies are/will be stored
+ - resume: int, byte offset to start the download from;
+ if the server supports ranges
+ - maxfilesize: int, maximum file size that should be downloaded;
+ has no effect, if the size of the requested entity is not known
+ - 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

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,
    
'http_connectcode' => 0,
    
'httpauth_avail' => 0,
    
'proxyauth_avail' => 0,
)
?>
+

+

+
+

string http_head(string url[, array options[, array &info]])

Performs an HTTP HEAD request on the suppied url.
Returns the HTTP response as string.
See http_get() for a full list of available options.

-

string http_post_data(string url, string data[, array options[, &info]])

+

string http_post_data(string url, string data[, array options[, array &info]])

Performs an HTTP POST request, posting data.
Returns the HTTP response as string.
See http_get() for a full list of available options.

-

string http_post_array(string url, array data[, array options[, array &info]])

+

string http_post_fields(string url, array data[, array files[, array options[, array &info]]])

Performs an HTTP POST request, posting www-form-urlencoded array data.
Returns the HTTP response as string.
See http_get() for a full list of available options.

-

bool http_auth_basic(string user, string pass[, string realm = "Restricted"])

-

Example:
-


-
-<?php
if (!http_auth_basic('mike', 's3c|r3t')) {
die(
'<h1>Authorization failed!</h1>');
}
?>
-

-

+

string http_put_file(string url, string file[, array options[, array &info]])

+

Performs an HTTP PUT request, uploading file.
+Returns the HTTP response as string.
+See http_get() for a full list of available options.

+

string http_put_stream(string url, resource stream[, array options[, array &info]])

+

Performs an HTTP PUT request, uploading stream.
+Returns the HTTP response as string.
+See http_get() for a full list of available options.

+

long http_request_method_register(string method)

+

Register a custom request method.

+

bool http_request_method_unregister(mixed method)

+

Unregister a previously registered custom request method.

+

long http_request_method_exists(mixed method)

+

Check if a request method is registered (or available by default).

+

string http_request_method_name(long method)

+

Get the literal string representation of a standard or registered request method.

+

string http_build_query(mixed formdata [, string prefix[, string arg_separator]])

+

Generates a form-encoded query string from an associative array or object.

+
+

http_message_object.c

+

HttpMessage

+

void HttpMessage::__construct([string message])

+

Instantiate a new HttpMessage object.

+

static HttpMessage HttpMessage::fromString(string raw_message)

+

Create an HttpMessage object from a string.

+

string HttpMessage::getBody()

+

Get the body of the parsed Message.

+

array HttpMessage::getHeaders()

+

Get Message Headers.

+

void HttpMessage::setHeaders(array headers)

+

Sets new headers.

+

void HttpMessage::addHeaders(array headers[, bool append = false])

+

Add headers. If append is true, headers with the same name will be separated, else overwritten.

+

long HttpMessage::getType()

+

Get Message Type. (HTTP_MSG_NONE|HTTP_MSG_REQUEST|HTTP_MSG_RESPONSE)

+

void HttpMessage::setType(long type)

+

Set Message Type. (HTTP_MSG_NONE|HTTP_MSG_REQUEST|HTTP_MSG_RESPONSE)

+

long HttpMessage::getResponseCode()

+

Get the Response Code of the Message.

+

bool HttpMessage::setResponseCode(long code)

+

Set the response code of an HTTP Response Message.
+Returns false if the Message is not of type HTTP_MSG_RESPONSE,
+or if the response code is out of range (100-510).

+

string HttpMessage::getRequestMethod()

+

Get the Request Method of the Message.
+Returns false if the Message is not of type HTTP_MSG_REQUEST.

+

bool HttpMessage::setRequestMethod(string method)

+

Set the Request Method of the HTTP Message.
+Returns false if the Message is not of type HTTP_MSG_REQUEST.

+

string HttpMessage::getRequestUri()

+

Get the Request URI of the Message.

+

bool HttpMessage::setRequestUri(string URI)

+

Set the Request URI of the HTTP Message.
+Returns false if the Message is not of type HTTP_MSG_REQUEST,
+or if paramtere URI was empty.

+

string HttpMessage::getHttpVersion()

+

Get the HTTP Protocol Version of the Message.

+

bool HttpMessage::setHttpVersion(string version)

+

Set the HTTP Protocol version of the Message.
+Returns false if version is invalid (1.0 and 1.1).

+

HttpMessage HttpMessage::getParentMessage()

+

Get parent Message.

+

bool HttpMessage::send()

+

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
+and POST (including posting files) HTTP requests.

+

void HttpRequest::__destruct()

+

Destroys the HttpRequest object.

+

bool HttpRequest::setOptions([array options])

+

Set the request options to use. See http_get() for a full list of available options.

+

array HttpRequest::getOptions()

+

Get currently set options.

+

bool HttpRequest::setSslOptions([array options])

+

Set SSL options.

+

bool HttpRequest::addSslOptions(array options)

+

Set additional SSL options.

+

array HttpRequest::getSslOtpions()

+

Get previously set SSL options.

+

bool HttpRequest::addHeaders(array headers)

+

Add request header name/value pairs.

+

bool HttpRequest::setHeaders([array headers])

+

Set request header name/value pairs.

+

array HttpRequest::getHeaders()

+

Get previously set request headers.

+

bool HttpRequest::setCookies([array cookies])

+

Set cookies.

+

bool HttpRequest::addCookies(array cookies)

+

Add cookies.

+

array HttpRequest::getCookies()

+

Get previously set cookies.

+

bool HttpRequest::setUrl(string url)

+

Set the request URL.

+

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
+HTTP_POST constants.

+

long HttpRequest::getMethod()

+

Get the previously set request method.

+

bool HttpRequest::setContentType(string content_type)

+

Set the content type the post request should have.
+Use this only if you know what you're doing.

+

string HttpRequest::getContentType()

+

Get the previously content type.

+

bool HttpRequest::setQueryData([mixed query_data])

+

Set the URL query parameters to use.
+Overwrites previously set query parameters.
+Affects any request types.

+

string HttpRequest::getQueryData()

+

Get the current query data in form of an urlencoded query string.

+

bool HttpRequest::addQueryData(array query_params)

+

Add parameters to the query parameter list.
+Affects any request type.

+

bool HttpRequest::addPostFields(array post_data)

+

Adds POST data entries.
+Affects only POST requests.

+

bool HttpRequest::setPostFields([array post_data])

+

Set the POST data entries.
+Overwrites previously set POST data.
+Affects only POST requests.

+

array HttpRequest::getPostFields()

+

Get previously set POST data.

+

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([array post_files])

+

Set files to post.
+Overwrites previously set post files.
+Affects only POST requests.

+

array HttpRequest::getPostFiles()

+

Get all previously added POST files.

+

bool HttpRequest::setPutFile([string file])

+

Set file to put.
+Affects only PUT requests.

+

string HttpRequest::getPutFile()

+

Get previously set put file.

+

array HttpRequest::getResponseData()

+

Get all response data after the request has been sent.

+

mixed HttpRequest::getResponseHeader([string name])

+

Get response header(s) after the request has been sent.

+

array HttpRequest::getResponseCookie([string name])

+

Get response cookie(s) after the request has been sent.

+

string HttpRequest::getResponseBody()

+

Get the response body after the request has been sent.

+

int HttpRequest::getResponseCode()

+

Get the response code after the request has been sent.

+

array HttpRequest::getResponseInfo([string name])

+

Get response info after the request has been sent.
+See http_get() for a full list of returned info.

+

HttpMessage HttpRequest::getResponseMessage()

+

Get the full response as HttpMessage object.

+

HttpMessage HttpRequest::getRequestMessage()

+

Get sent HTTP message.

+

HttpMessage HttpRequest::send()

+

Send the HTTP request.
+
+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;
}
?>
+

+

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;
}
?>
+

+

+
+

+
+

http_requestpool_object.c

+

HttpRequestPool

+

void HttpRequestPool::__construct([HttpRequest request[, ...]])

+

Instantiate a new HttpRequestPool object. An HttpRequestPool is
+able to send several HttpRequests in parallel.
+
+Example:


+<?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;
}
?>
+

+

+
+

+

void HttpRequestPool::__destruct()

+

Clean up HttpRequestPool object.

+

void HttpRequestPool::reset()

+

Detach all attached HttpRequest objects.

+

bool HttpRequestPool::attach(HttpRequest request)

+

Attach an HttpRequest object to this HttpRequestPool.
+NOTE: set all options prior attaching!

+

bool HttpRequestPool::detach(HttpRequest request)

+

Detach an HttpRequest object from this HttpRequestPool.

+

bool HttpRequestPool::send()

+

Send all attached HttpRequest objects in parallel.

+

protected bool HttpRequestPool::socketSend()

+

Usage:


+<?php
    
while ($pool->socketPerform()) {
        
do_something_else();
        if (!
$pool->socketSelect()) {
            die(
'Socket error');
        }
    }
?>
+

+

+
+

+

protected bool HttpRequestPool::socketSelect()

+

See HttpRequestPool::socketPerform().

+

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::setHeader(string name, mixed value[, bool replace = true)

+

+

static mixed HttpResponse::getHeader([string name])

+

+

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.

+

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 calculated or previously set custom ETag.

+

static bool HttpResponse::setLastModified(long timestamp)

+

Set a custom Last-Modified date.

+

static HttpResponse::getLastModified()

+

Get calculated or previously set custom Last-Modified date.

+

static bool HttpResponse::setThrottleDelay(double seconds)

+

+

static double HttpResponse::getThrottleDelay()

+

+

static bool 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();
?>
+

+

+

-

bool http_auth_basic_cb(mixed callback[, string realm = "Restricted"])

-

Example:
-


-
-<?php
function auth_cb($user, $pass)
{
global
$db;
$query = 'SELECT pass FROM users WHERE user='. $db->quoteSmart($user);
if (
strlen($realpass = $db->getOne($query)) {
return
$pass === $realpass;
}
return
false;
}

if (!
http_auth_basic_cb('auth_cb')) {
die(
'<h1>Authorization failed</h1>');
}
?>
-

-

+

static void HttpResponse::capture()

+

Capture script output.
+
+Example:


+<?php
HttpResponse
::setCache(true);
HttpResponse::capture();
// script follows
// note that you need to call
HttpResponse::send();
// at the end of the script unless 
// you use PHP-5.1 or greater
?>
+

+

+

-

Generated at: Thu, 10 Feb 2005 19:51:45 +0100

+
+

Generated at: Fri, 26 Aug 2005 11:08:03 +0000

+