From: Michael Wallner Date: Wed, 5 Oct 2005 14:42:39 +0000 (+0000) Subject: - changelog X-Git-Tag: RELEASE_0_15_0~41 X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=commitdiff_plain;h=b63e146a77c6512cae1574c0bb520b3a7bbec1e7 - changelog - version bump - docs --- diff --git a/docs/functions.html b/docs/functions.html index 16dd0a5..8979c25 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -47,136 +47,197 @@

http_functions.c

string http_date([int timestamp])

-

This function returns a valid HTTP date regarding RFC 822/1123
+

Compose 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 host[, int port]]])

-

This function returns an absolute URI constructed from url.
-If the url is already abolute but a different proto was supplied,
+

Takes an optional unix timestamp as parameter.
+
+Returns the HTTP date as string.

+

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

+

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.
-
-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'])

+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"NULL488);
?>
+

+

+

string http_negotiate_language(array supported[, array &result])

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';
?>
-

-

-
-

-

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

+Accept-Language HTTP header. The qualifier is recognized and languages
+without qualifier are rated highest. The qualifier will be decreased by
+10% for partial matches (i.e. matching primary language).

+

Expects an array as parameter cotaining the supported languages as values.
+If the optional second parameter is supplied, it will be filled with an
+array containing the negotiation results.

+

Returns the negotiated language or the default language (i.e. first array entry)
+if none match.

+

Example:


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

include 
'./langs/'http_negotiate_language($langs$result) .'.php';

print_r($result);
?>
+

+

+

string http_negotiate_charset(array supported[, array &result])

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');
}
?>
-

-

-
-

+Accept-Charset HTTP header. The qualifier is recognized and charsets
+without qualifier are rated highest.

+

Expects an array as parameter cotaining the supported charsets as values.
+If the optional second parameter is supplied, it will be filled with an
+array containing the negotiation results.

+

Returns the negotiated charset or the default charset (i.e. first array entry)
+if none match.

+

Example:


+<?php
$charsets 
= array(
        
'iso-8859-1'// default
        
'iso-8859-2',
        
'iso-8859-15',
        
'utf-8'
);

$pref http_negotiate_charset($charsets$result);

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');
}

print_r($result);
?>
+

+

bool http_send_status(int status)

Send HTTP status code.

+

Expects an HTTP status code as parameter.

+

Returns TRUE on success or FALSE on failure.

bool http_send_last_modified([int timestamp])

-

This converts the given timestamp to a valid HTTP date and
+

Send a "Last-Modified" header with a valid HTTP date.

+

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

+omitted, the current time will be sent.

+

Returns TRUE on success or FALSE on failure.

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

-

Sets the content type.

+

Send the Content-Type of the sent entity. This is particularly important
+if you use the http_send() API.

+

Accepts an optional string parameter containing the desired content type
+(primary/secondary).

+

Returns TRUE on success or FALSE on failure.

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

-

Set the Content Disposition. The Content-Disposition header is very useful
+

Send 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[, for_range = false])

-

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

+

Expects a string parameter specifying the file name the "Save as..." dialogue
+should display. Optionally accepts a bool parameter, which, if set to true
+and the user agent knows how to handle the content type, will probably not
+cause the popup window to be shown.

+

Returns TRUE on success or FALSE on failure.

+

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

+

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

+

Accepts a unix timestamp which should be matched. Optionally accepts an
+additional bool parameter, which if set to true will check the header
+usually used to validate HTTP ranges. If timestamp is omitted, the
+current time will be used.

+

Returns TRUE if timestamp represents an earlier date than the header,
+else FALSE.

+

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

+

Matches the given ETag against the clients "If-Match" resp.
+"If-None-Match" HTTP headers.

+

Expects a string parameter containing the ETag to compare. Optionally
+accepts a bool parameter, which, if set to true, will check the header
+usually used to validate HTTP ranges.

+

Retuns TRUE if ETag matches or the header contained the asterisk ("*"),
+else FALSE.

bool http_cache_last_modified([int timestamp_or_expires]])

+

Attempts to cache the sent entity by its last modification date.

+

Accepts a unix timestamp as parameter which is handled as follows:

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
requested last modification date is not between the calculated timespan,
the Last-Modified header is updated and the actual body will be sent.

+

Returns FALSE on failure, or *exits* with "304 Not Modified" if the entity is cached.

+

A log entry will be written to the cache log if the INI entry
+http.cache_log is set and the cache attempt was successful.

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
+

Attempts to cache the sent entity by its ETag, either supplied or generated
+by the hash algorythm specified by the INI setting "http.etag_mode".

+

If the 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.

+

Returns FALSE on failure, or *exits* with "304 Not Modified" if the entity is cached.

+

A log entry is written to the cache log if the INI entry
+"http.cache_log" is set and the cache attempt was successful.

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:


+

For use with ob_start(). Output buffer handler generating an ETag with
+the hash algorythm specified with the INI setting "http.etag_mode".

+

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

+

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.

+

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
+

+

+

void http_redirect([string url[, array params[, bool session = false[, int status = 302]]]])

+

Redirect to the given url.
+
+The supplied url will be expanded with http_build_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
-("301 Moved Permanently") or a temporary ("302 Found") redirection
-status code.
-
-To be RFC compliant, "Redirecting to URI." will be displayed,
-if the client doesn't redirect immediatly.

+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_PERM 301 Moved Permanently
+ - HTTP_REDIRECT_POST 303 See Other
+ - 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,
+if the client doesn't redirect immediatly, and the request method was
+another one than HEAD.

+

Returns FALSE on failure, or *exits* on success.

+

A log entry will be written to the redirect log, if the INI entry
+"http.redirect_log" is set and the redirect attempt was successful.

bool http_send_data(string data)

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

+

Retursn TRUE on success, or FALSE on failure.

bool http_send_file(string file)

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

+

Expects a string parameter referencing the file to send.

+

Returns TRUE on success, or FALSE on failure.

bool http_send_stream(resource stream)

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

+

Expects a resource parameter referncing the stream to read from.

+

Returns TRUE on success, or FALSE on failure.

string http_chunked_decode(string encoded)

-

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

+

Decodes a string that was HTTP-chunked encoded.

+

Expects a chunked encoded string as parameter.

+

Returns the decoded string on success or FALSE on failure.

object http_parse_message(string message)

-

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


+

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

+

Expects a string parameter containing a single HTTP message or
+several consecutive HTTP messages.

+

Returns an hierachical object structure of the parsed messages.

+

Example:


<?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)

-

+

Parses HTTP headers into an associative array.

+

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/htmlchatset=UTF-8
    
[Server] => Funky/1.0
    
[Set-Cookie] => Array
        (
            [
0] => foo=bar
            
[1] => baz=quux
        
)
    [
Folded] => works
        too 
?>

+

+

array http_get_request_headers(void)

Get a list of incoming HTTP headers.

+

Returns an associative array of incoming request headers.

string http_get_request_body(void)

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

+

Returns NULL when using the CLI SAPI.

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

Match an incoming HTTP header.

+

Expects two string parameters representing the header name (case-insensitive)
+and the header value that should be compared. The case sensitivity of the
+header value depends on the additional optional bool parameter accepted.

+

Returns TRUE if header value matches, else FALSE.

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
+

Performs an HTTP GET request on the supplied url.

+

The second parameter, if set, 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
@@ -204,41 +265,56 @@ array where the following keys will be recognized:

 - 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

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

-

-
-

+

+

+

Returns the HTTP response(s) as string on success, or FALSE on failure.

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.

+

Performs an HTTP HEAD request on the supplied url.

+

See http_get() for a full list of available parameters and options.

+

Returns the HTTP response as string on success, or FALSE on failure.

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.

+

Performs an HTTP POST requeston the supplied url.

+

Expects a string as second parameter containing the pre-encoded post data.
+See http_get() for a full list of available parameters and options.
+
+Returns the HTTP response(s) as string on success, or FALSE on failure.

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.

+

Performs an HTTP POST request on the supplied url.

+

Expecrs an associative array as second parameter, which will be
+www-form-urlencoded. See http_get() for a full list of available options.

+

Returns the HTTP response(s) as string on success, or FALSE on failure.

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

Performs an HTTP PUT request on the supplied url.

+

Expects the second parameter to be a string referncing the file to upload.
See http_get() for a full list of available options.

+

Returns the HTTP response(s) as string on success, or FALSE on failure.

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

Performs an HTTP PUT request on the supplied url.

+

Expects the second parameter to be a resource referencing an already
+opened stream, from which the data to upload should be read.
See http_get() for a full list of available options.

-

long http_request_method_register(string method)

+

Returns the HTTP response(s) as string on success. or FALSE on failure.

+

int http_request_method_register(string method)

Register a custom request method.

+

Expects a string parameter containing the request method name to register.

+

Returns the ID of the request method on success, or FALSE on failure.

bool http_request_method_unregister(mixed method)

Unregister a previously registered custom request method.

+

Expects either the request method name or ID.

+

Returns TRUE on success, or FALSE on failure.

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)

+

Expects either the request method name or ID as parameter.

+

Returns TRUE if the request method is known, else FALSE.

+

string http_request_method_name(int method)

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

+

Expects the request method ID as parameter.

+

Returns the request method name as string on success, or FALSE on failure.

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

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


@@ -246,192 +322,382 @@ See http_get() for a full list of available options.

HttpMessage

void HttpMessage::__construct([string message])

Instantiate a new HttpMessage object.

+

Accepts an optional string parameter containing a single or several
+consecutive HTTP messages. The constructed object will actually
+represent the *last* message of the passed string. If there were
+prior messages, those can be accessed by HttpMessage::getParentMessage().

+

Throws HttpMalformedHeaderException.

static HttpMessage HttpMessage::fromString(string raw_message)

-

Create an HttpMessage object from a string.

+

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.

string HttpMessage::getBody()

-

Get the body of the parsed Message.

+

Get the body of the parsed HttpMessage.

+

Returns the message body as string.

+

void HttpMessage::setBody(string body)

+

Set the body of the HttpMessage.
+NOTE: Don't forget to update any headers accordingly.

+

Expects a string parameter containing the new body of the message.

array HttpMessage::getHeaders()

Get Message Headers.

+

Returns an associative array containing the messages HTTP headers.

void HttpMessage::setHeaders(array headers)

Sets new headers.

+

Expects an associative array as parameter containing the new HTTP headers,
+which will replace *all* previous HTTP headers of the message.

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()

+

Expects an associative array as parameter containing the additional HTTP headers
+to add to the messages existing headers. If the optional bool parameter is true,
+and a header with the same name of one to add exists already, this respective
+header will be converted to an array containing both header values, otherwise
+it will be overwritten with the new header value.

+

int HttpMessage::getType()

Get Message Type. (HTTP_MSG_NONE|HTTP_MSG_REQUEST|HTTP_MSG_RESPONSE)

-

void HttpMessage::setType(long type)

+

Returns the HttpMessage::TYPE.

+

void HttpMessage::setType(int type)

Set Message Type. (HTTP_MSG_NONE|HTTP_MSG_REQUEST|HTTP_MSG_RESPONSE)

-

long HttpMessage::getResponseCode()

+

Exptects an int parameter, the HttpMessage::TYPE.

+

int 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).

+

Returns the HTTP response code if the message is of type
+HttpMessage::TYPE_RESPONSE, else FALSE.

+

bool HttpMessage::setResponseCode(int code)

+

Set the response code of an HTTP Response Message.

+

Expects an int parameter with the HTTP response code.

+

Returns TRUE on success, or FALSE if the message is not of type
+HttpMessage::TYPE_RESPONSE or 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.

+

Get the Request Method of the Message.

+

Returns the request method name on success, or FALSE if the message is
+not of type HttpMessage::TYPE_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.

+

Set the Request Method of the HTTP Message.

+

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.

string HttpMessage::getRequestUri()

Get the Request URI of the Message.

+

Returns the request uri as string on success, or FALSE if the message
+is not of type HttpMessage::TYPE_REQUEST.

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.

+

Set the Request URI of the HTTP Message.

+

Expects a string parameters containing the request uri.

+

Returns TRUE on success, or FALSE if the message is not of type
+HttpMessage::TYPE_REQUEST or supplied URI was empty.

string HttpMessage::getHttpVersion()

Get the HTTP Protocol Version of the Message.

+

Returns the HTTP protocol version as string.

bool HttpMessage::setHttpVersion(string version)

-

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

+

Set the HTTP Protocol version of the Message.

+

Expects a string parameter containing the HTTP protocol version.

+

Returns TRUE on success, or FALSE if supplied version is out of range (1.0/1.1).

HttpMessage HttpMessage::getParentMessage()

Get parent Message.

+

Returns the parent HttpMessage on success, or NULL if there's none.

bool HttpMessage::send()

-

Send the Message according to its type as Response or Request.

-

string HttpMessage::toString([bool include_parent = true])

+

Send the Message according to its type as Response or Request.
+This provides limited functionality compared to HttpRequest and HttpResponse.

+

Returns TRUE on success, or FALSE on failure.

+

string HttpMessage::toString([bool include_parent = false])

Get the string representation of the Message.

+

Accepts a bool parameter which specifies whether the returned string
+should also contain any parent messages.

+

Returns the full message as string.


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::__construct([string url[, int request_method = HTTP_METH_GET]])

+

Instantiate a new HttpRequest object.

+

Accepts a string as optional parameter containing the target request url.
+Additianally accepts an optional int parameter specifying the request method
+to use.

+

Throws HttpException.

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.

+

Accepts an array as optional parameters, wich values will overwrite the
+currently set request options. If the parameter is empty or mitted,
+the optoions of the HttpRequest object will be reset.

+

Returns TRUE on success, or FALSE on failure.

array HttpRequest::getOptions()

Get currently set options.

+

Returns an associative array containing currently set options.

bool HttpRequest::setSslOptions([array options])

Set SSL options.

+

Accepts an associative array as parameter containing any SSL specific options.
+If the parameter is empty or omitted, the SSL options will be reset.

+

Returns TRUE on success, or FALSE on failure.

bool HttpRequest::addSslOptions(array options)

Set additional SSL options.

+

Expects an associative array as parameter containing additional SSL specific options.

+

Returns TRUE on success, or FALSE on failure.

array HttpRequest::getSslOtpions()

Get previously set SSL options.

+

Returns an associative array containing any previously set SSL options.

bool HttpRequest::addHeaders(array headers)

Add request header name/value pairs.

+

Expects an ssociative array as parameter containing additional header
+name/value pairs.

+

Returns TRUE on success, or FALSE on failure.

bool HttpRequest::setHeaders([array headers])

Set request header name/value pairs.

+

Accepts an associative array as parameter containing header name/value pairs.
+If the parameter is empty or omitted, all previously set headers will be unset.

+

Returns TRUE on success, or FALSE on failure.

array HttpRequest::getHeaders()

Get previously set request headers.

+

Returns an associative array containing all currently set headers.

bool HttpRequest::setCookies([array cookies])

Set cookies.

+

Accepts an associative array as parameter containing cookie name/value pairs.
+If the parameter is empty or omitted, all previously set cookies will be unset.

+

Returns TRUE on success, or FALSE on failure.

bool HttpRequest::addCookies(array cookies)

Add cookies.

+

Expects an associative array as parameter containing any cookie name/value
+pairs to add.

+

Returns TRUE on success, or FALSE on failure.

array HttpRequest::getCookies()

Get previously set cookies.

+

Returns an associative array containing any previously set cookies.

bool HttpRequest::setUrl(string url)

Set the request URL.

+

Expects a string as parameter specifying the request url.

+

Returns TRUE on success, or FALSE on failure.

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()

+

Returns the currently set request url as string.

+

bool HttpRequest::setMethod(int request_method)

+

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.

+

int HttpRequest::getMethod()

Get the previously set request method.

+

Returns the currently 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.

+

Set the content type the post request should have.

+

Expects a string as parameters containing the content type of the request
+(primary/secondary).

+

Returns TRUE on success, or FALSE if the content type does not seem to
+contain a primary and a secondary part.

string HttpRequest::getContentType()

Get the previously content type.

+

Returns the previously set content type as string.

bool HttpRequest::setQueryData([mixed query_data])

-

Set the URL query parameters to use.
-Overwrites previously set query parameters.
+

Set the URL query parameters to use, overwriting previously set query parameters.
Affects any request types.

+

Accepts a string or associative array parameter containing the pre-encoded
+query string or to be encoded query fields. If the parameter is empty or
+omitted, the query data will be unset.

+

Returns TRUE on success, or FALSE on failure.

string HttpRequest::getQueryData()

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

+

Returns a string containing the urlencoded query.

bool HttpRequest::addQueryData(array query_params)

-

Add parameters to the query parameter list.
+

Add parameters to the query parameter list, leaving previously set unchanged.
Affects any request type.

+

Expects an associative array as parameter containing the query fields to add.

+

Returns TRUE on success, or FALSE on failure.

bool HttpRequest::addPostFields(array post_data)

-

Adds POST data entries.
-Affects only POST requests.

+

Adds POST data entries, leaving previously set unchanged, unless a
+post entry with the same name already exists.
+Affects only POST and custom requests.

+

Expects an associative array as parameter containing the post fields.

+

Returns TRUE on success, or FALSE on failure.

bool HttpRequest::setPostFields([array post_data])

-

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

+

Set the POST data entries, overwriting previously set POST data.
+Affects only POST and custom requests.

+

Accepts an associative array as parameter containing the post fields.
+If the parameter is empty or omitted, the post data will be unset.

+

Returns TRUE on success, or FALSE on failure.

array HttpRequest::getPostFields()

Get previously set POST data.

+

Returns the currently set post fields as associative array.

+

bool HttpRequest::setRawPostData([string raw_post_data])

+

Set raw post data to send, overwriting previously set raw post data. Don't
+forget to specify a content type. Affects only POST and custom requests.
+Only either post fields or raw post data can be used for each request.
+Raw post data has higher precedence and will be used even if post fields
+are set.

+

Accepts a string as parameter containing the *raw* post data.

+

Returns TRUE on success, or FALSE on failure.

+

bool HttpRequest::addRawPostData(string raw_post_data)

+

Add raw post data, leaving previously set raw post data unchanged.
+Affects only POST and custom requests.

+

Expects a string as parameter containing the raw post data to concatenate.

+

Returns TRUE on success, or FALSE on failure.

+

string HttpRequest::getRawPostData()

+

Get previously set raw post data.

+

Returns a string containing the currently set raw 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.

+

Add a file to the POST request, leaving prefiously set files unchanged.
+Affects only POST and custom requests. Cannot be used with raw post data.

+

Expects a string parameter containing the form element name, and a string
+paremeter containing the path to the file which should be uploaded.
+Additionally accepts an optional string parameter which chould contain
+the content type of the file.

+

Returns TRUE on success, or FALSE if the content type seems not to contain a
+primary and a secondary content type part.

bool HttpRequest::setPostFiles([array post_files])

-

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

+

Set files to post, overwriting previously set post files.
+Affects only POST and requests. Cannot be used with raw post data.

+

Accepts an array containing the files to post. Each entry should be an
+associative array with "name", "file" and "type" keys. If the parameter
+is empty or omitted the post files will be unset.

+

Returns TRUE on success, or FALSE on failure.

array HttpRequest::getPostFiles()

Get all previously added POST files.

+

Returns an array containing currently set post files.

bool HttpRequest::setPutFile([string file])

-

Set file to put.
-Affects only PUT requests.

+

Set file to put. Affects only PUT requests.

+

Accepts a string as parameter referencing the path to file.
+If the parameter is empty or omitted the put file will be unset.

+

Returns TRUE on success, or FALSE on failure.

string HttpRequest::getPutFile()

Get previously set put file.

+

Returns a string containing the path to the currently set put file.

array HttpRequest::getResponseData()

Get all response data after the request has been sent.

+

Returns an associative array with the key "headers" containing an associative
+array holding all response headers, as well as the ley "body" containing a
+string with the response body.

+

If redirects were allowed and several responses were received, the data
+references the last received response.

mixed HttpRequest::getResponseHeader([string name])

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

+

Accepts an string as optional parameter specifying a certain header to read.
+If the parameter is empty or omitted all response headers will be returned.

+

Returns either a string with the value of the header matching name if requested,
+FALSE on failure, or an associative array containing all reponse headers.

+

If redirects were allowed and several responses were received, the data
+references the last received response.

array HttpRequest::getResponseCookie([string name])

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

+

Accepts a string as optional parameter specifying the name of the cookie to read.
+If the parameter is empty or omitted, an associative array with all received
+cookies will be returned.

+

Returns either an associative array with the cookie's name, value and any
+additional params of the cookie matching name if requested, FALSE on failure,
+or an array containing all received cookies as arrays.

+

If redirects were allowed and several responses were received, the data
+references the last received response.

string HttpRequest::getResponseBody()

Get the response body after the request has been sent.

+

Returns a string containing the response body.

+

If redirects were allowed and several responses were received, the data
+references the last received response.

int HttpRequest::getResponseCode()

Get the response code after the request has been sent.

-

array HttpRequest::getResponseInfo([string name])

+

Returns an int representing the response code.

+

If redirects were allowed and several responses were received, the data
+references the last received response.

+

mixed HttpRequest::getResponseInfo([string name])

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

+

Accepts a string as optional parameter specifying the info to read.
+If the parameter is empty or omitted, an associative array containing
+all available info will be returned.

+

Returns either a scalar containing the value of the info matching name if
+requested, FALSE on failure, or an associative array containing all
+available info.

+

If redirects were allowed and several responses were received, the data
+references the last received response.

HttpMessage HttpRequest::getResponseMessage()

-

Get the full response as HttpMessage object.

+

Get the full response as HttpMessage object after the request has been sent.

+

Returns an HttpMessage object of the response.

+

If redirects were allowed and several responses were received, the data
+references the last received response. Use HttpMessage::getParentMessage()
+to access the data of previously received responses whithin this request
+cycle.

+

Throws HttpException.

HttpMessage HttpRequest::getRequestMessage()

Get sent HTTP message.

+

Returns an HttpMessage object representing the sent request.

+

If redirects were allowed and several responses were received, the data
+references the last received response. Use HttpMessage::getParentMessage()
+to access the data of previously sent requests whithin this request
+cycle.

+

HttpMessage HttpRequest::getHistory()

+

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
+HttpRequest::$recoedHistory to FALSE.

+

Returns an HttpMessage object representing the complete request/response
+history.

+

The object references the last received response, use HttpMessage::getParentMessage()
+to access the data of previously sent requests and received responses.

+

Throws HttpMalformedHeaderException.

+

void HttpRequest::clearHistory()

+

Clear the history.

HttpMessage HttpRequest::send()

-

Send the HTTP request.
-
-GET example:


+

Send the HTTP request.

+

Returns the received response as HttpMessage object.

+

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

-

POST example:


+

+

+

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

-

-
-

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

+

Example:


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

+

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!

+WARNING: set all options prior attaching!

+

Expects the parameter to be an HttpRequest object not alread attached to
+antother HttpRequestPool object.

+

Returns TRUE on success, or FALSE on failure.

+

Throws HttpInvalidParamException, HttpRequestException,
+HttpRequestPoolException, HttpEncodingException.

bool HttpRequestPool::detach(HttpRequest request)

Detach an HttpRequest object from this HttpRequestPool.

+

Expects the parameter to be an HttpRequest object attached to this
+HttpRequestPool object.

+

Returns TRUE on success, or FALSE on failure.

+

Throws HttpInvalidParamException, HttpRequestPoolException.

bool HttpRequestPool::send()

Send all attached HttpRequest objects in parallel.

-

protected bool HttpRequestPool::socketSend()

+

Returns TRUE on success, or FALSE on failure.

+

Throws HttpSocketException, HttpRequestException,
+HttpRequestPoolException, HttpMalformedHeaderException.

+

protected bool HttpRequestPool::socketPerform()

+

Returns TRUE until each request has finished its transaction.

Usage:


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

-

-
-

+

+

protected bool HttpRequestPool::socketSelect()

See HttpRequestPool::socketPerform().

+

Returns TRUE on success, or FALSE on failure.

bool HttpRequestPool::valid()

Implements Iterator::valid().

HttpRequest HttpRequestPool::current()

Implements Iterator::current().

-

long HttpRequestPool::key()

+

int HttpRequestPool::key()

Implements Iterator::key().

void HttpRequestPool::next()

Implements Iterator::next().

@@ -439,87 +705,161 @@ NOTE: set all options prior attaching!

Implements Iterator::rewind().


http_response_object.c

-

static bool HttpResponse::setHeader(string name, mixed value[, bool replace = true)

-

+

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
+parameter containing the value of the header, which will be converted to
+a string. Additionally accepts an optional boolean parameter, which
+specifies whether an existing header should be replaced. If the second
+parameter is unset no header with this name will be sent.

+

Returns TRUE on success, or FALSE on failure.

+

Throws HttpHeaderException if http.only_exceptions is TRUE.

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

-

+

Get header(s) about to be sent.

+

Accepts a string as optional parameter which specifies the name of the
+header to read. If the parameter is empty or omitted, an associative array
+with all headers will be returned.

+

Returns either a string containing the value of the header matching name,
+FALSE on failure, or an associative array with all headers.

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
+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"!

+

Expects a boolean as parameter specifying whether caching should be attempted.

+

Returns TRUE ons success, or FALSE on failure.

static bool HttpResponse::getCache()

Get current caching setting.

+

Returns TRUE if caching should be attempted, else FALSE.

static bool HttpResponse::setGzip(bool gzip)

Enable on-thy-fly gzipping of the sent entity.

+

Expects a boolean as parameter indicating if GZip compression should be enabled.

+

Returns TRUE on success, or FALSE on failure.

static bool HttpResponse::getGzip()

Get current gzipping setting.

-

static bool HttpResponse::setCacheControl(string control[, long max_age = 0])

+

Returns TRUE if GZip compression is enabled, else FALSE.

+

static bool HttpResponse::setCacheControl(string control[, int 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.

+

Expects a string parameter containing the primary cache control setting.
+Addtitionally accepts an int parameter specifying the max-age setting.

+

Returns TRUE on success, or FALSE if control does not match one of
+"public" , "private" or "no-cache".

+

Throws HttpInvalidParamException if http.only_exceptions is TRUE.

static string HttpResponse::getCacheControl()

Get current Cache-Control header setting.

+

Returns the current cache control setting as a string like sent in a header.

static bool HttpResponse::setContentType(string content_type)

Set the content-type of the sent entity.

+

Expects a string as parameter specifying the content type of the sent entity.

+

Returns TRUE on success, or FALSE if the content type does not seem to
+contain a primary and secondary content type part.

+

Throws HttpInvalidParamException if http.only_exceptions is TRUE.

static string HttpResponse::getContentType()

Get current Content-Type header setting.

+

Returns the currently set content type as string.

+

static string HttpResponse::guessContentType(string magic_file[, long magic_mode = MAGIC_MIME])

+

Attempts to guess the content type of supplied payload through libmagic.
+If the attempt is successful, the guessed content type will automatically
+be set as response content type.

+

Expects a string parameter specifying the magic.mime database to use.
+Additionally accepts an optional int parameter, being flags for libmagic.

+

Returns the guessed content type on success, or FALSE on failure.

+

Throws HttpRuntimeException, HttpInvalidParamException
+if http.only_exceptions is TRUE.

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.

+

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).

+

Expects a string parameter specifying the file name the "Save as..." dialogue
+should display. Optionally accepts a bool parameter, which, if set to true
+and the user agent knows how to handle the content type, will probably not
+cause the popup window to be shown.

+

Returns TRUE on success or FALSE on failure.

static string HttpResponse::getContentDisposition()

Get current Content-Disposition setting.

+

Returns the current content disposition as string like sent in a header.

static bool HttpResponse::setETag(string etag)

Set a custom ETag. Use this only if you know what you're doing.

+

Expects an unquoted string as parameter containing the ETag.

+

Returns TRUE on success, or FALSE on failure.

static string HttpResponse::getETag()

Get calculated or previously set custom ETag.

-

static bool HttpResponse::setLastModified(long timestamp)

+

Returns the calculated or previously set ETag as unquoted string.

+

static bool HttpResponse::setLastModified(int timestamp)

Set a custom Last-Modified date.

-

static HttpResponse::getLastModified()

+

Expects an unix timestamp as parameter representing the last modification
+time of the sent entity.

+

Returns TRUE on success, or FALSE on failure.

+

static int HttpResponse::getLastModified()

Get calculated or previously set custom Last-Modified date.

+

Returns the calculated or previously set unix timestamp.

static bool HttpResponse::setThrottleDelay(double seconds)

-

+

Sets the throttle delay for use with HttpResponse::setBufferSize().

+

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.

+

Returns TRUE on success, or FALSE on failure.

static double HttpResponse::getThrottleDelay()

-

-

static bool HttpResponse::setBufferSize(long bytes)

-

-

static long HttpResponse::getBufferSize()

-

-

static bool HttpResponse::setData(string data)

+

Get the current throttle delay.

+

Returns a double representing the throttle delay in seconds.

+

static bool HttpResponse::setBufferSize(int bytes)

+

Sets the send buffer size for use with HttpResponse::setThrottleDelay().

+

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 an int parameter representing the chunk size in bytes.

+

Returns TRUE on success, or FALSE on failure.

+

static int HttpResponse::getBufferSize()

+

Get current buffer size.

+

Returns an int representing the current buffer size in bytes.

+

static bool HttpResponse::setData(mixed data)

Set the data to be sent.

+

Expects one parameter, which will be converted to a string and contains
+the data to send.

+

Returns TRUE on success, or FALSE on failure.

static string HttpResponse::getData()

Get the previously set data to be sent.

+

Returns a string containing the previously set data to send.

static bool HttpResponse::setStream(resource stream)

Set the resource to be sent.

+

Expects a resource parameter referencing an already opened stream from
+which the data to send will be read.

+

Returns TRUE on success, or FALSE on failure.

static resource HttpResponse::getStream()

Get the previously set resource to be sent.

+

Returns the previously set resource.

static bool HttpResponse::setFile(string file)

Set the file to be sent.

+

Expects a string as parameter, specifying the path to the file to send.

+

Returns TRUE on success, or FALSE on failure.

static string HttpResponse::getFile()

Get the previously set file to be sent.

+

Returns the previously set path to the file to send as string.

static bool HttpResponse::send([bool clean_ob = true])

-

Finally send the entity.
-
-Example:


+

Finally send the entity.

+

Accepts an optional boolean parameter, specifying wheter the ouput
+buffers should be discarded prior sending. A successful caching attempt
+will cause a script termination, and write a log entry if the INI setting
+http.cache_log is set.

+

Returns TRUE on success, or FALSE on failure.

+

Throws HttpHeaderException, HttpResponseException if http.onyl_excpetions is TRUE.

+

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
// note that you need to call
HttpResponse::send();
// at the end of the script unless 
// you use PHP-5.1 or greater
?>
-

-

-
-

+

Capture script output.

+

Example:


+<?php
HttpResponse
::setCache(true);
HttpResponse::capture();
// script follows
?>
+

+


-

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

+

Generated at: Wed, 05 Oct 2005 14:35:52 +0000

diff --git a/funcsummary.php b/funcsummary.php index 0a4e858..4a7c1dd 100644 --- a/funcsummary.php +++ b/funcsummary.php @@ -14,9 +14,10 @@ function ff($t) { $t = preg_replace('/^ \* /m', '', trim($t, "*/ \n")); $t = preg_replace_callback('/(\<\?php.*?\?\>)/s', 'hl', $t); - $t = nl2br(preg_replace('/\n *\* */', "\n", $t)); + $t = str_replace("
\n
\n", "

\n

", nl2br(preg_replace('/\n *\* */', "\n", $t))); $t = preg_replace('/(\
\n)+\(\
\n)+/', '

', $t);
     $t = preg_replace('/(\
\n)+\<\/pre\>(\
\n)+/', '

', $t); + $t = str_replace("
\n", "", $t); return sprintf('

%s

', ltrim($t, ' *')); } function e($s) diff --git a/http_functions.c b/http_functions.c index b0916b9..2f8d679 100644 --- a/http_functions.c +++ b/http_functions.c @@ -87,11 +87,11 @@ PHP_FUNCTION(http_date) * Returns the absolute URI as string. * * Examples: - * + *
  * 
- * 
+ * 
*/ PHP_FUNCTION(http_build_uri) { @@ -1307,7 +1307,7 @@ PHP_FUNCTION(http_request_method_unregister) } /* }}} */ -/* {{{ proto long http_request_method_exists(mixed method) +/* {{{ proto int http_request_method_exists(mixed method) * * Check if a request method is registered (or available by default). * diff --git a/http_response_object.c b/http_response_object.c index 30f5aba..0e1eb29 100644 --- a/http_response_object.c +++ b/http_response_object.c @@ -560,7 +560,7 @@ PHP_METHOD(HttpResponse, getContentType) } /* }}} */ -/* {{{ proto static string HttpResponse::guessContentType(string magic_file[, long magic_mode = MAGIC_MIME]) +/* {{{ proto static string HttpResponse::guessContentType(string magic_file[, int magic_mode = MAGIC_MIME]) * * Attempts to guess the content type of supplied payload through libmagic. * If the attempt is successful, the guessed content type will automatically diff --git a/package.xml b/package.xml index 21065da..04ab3b7 100644 --- a/package.xml +++ b/package.xml @@ -23,11 +23,13 @@ - 0.14.2 - 2005-10-04 + 0.15.0 + 2005-10-05 PHP License beta - * Fixed caching by Last-Modified with dates in october + * Updated documentation +* Renamed http_absolute_uri() to http_build_uri() (complements with http_build_query()) +* Changed the signature of the negotiator to fill the second parameter with the results array diff --git a/package2.xml b/package2.xml index 47290e7..06a189d 100644 --- a/package2.xml +++ b/package2.xml @@ -30,7 +30,7 @@ 2005-00-00 - 0.14.2 + 0.15.0 0.14.0 @@ -39,7 +39,9 @@ PHP License diff --git a/php_http.h b/php_http.h index 3bd580e..8600f12 100644 --- a/php_http.h +++ b/php_http.h @@ -18,7 +18,7 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define HTTP_PEXT_VERSION "0.14.2" +#define HTTP_PEXT_VERSION "0.15.0" /* make compile on Win32 */ #ifdef HTTP_HAVE_CURL