X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=docs%2Ffunctions.html;h=fa3d1c5d301efc799c1db0f723f2d7195fc6d690;hb=01ed83fb41d0421368dddd8ace671f4b5bf9dd8d;hp=e1329bb6d9034cea8ed295454eae73dda45a755c;hpb=7ba82df3144551af4182de7e515f955b9b1a68a9;p=m6w6%2Fext-http diff --git a/docs/functions.html b/docs/functions.html index e1329bb..fa3d1c5 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -81,7 +81,7 @@ The host will be taken either from the Host HTTP header of the client
the SERVER_NAME or just localhost if prior are not available.
If a port is pecified in either the url or as sperate parameter,
it will be added if it differs from te default port for HTTP(S).

-

Returns the absolute URI as string.

+

Returns the absolute URI as string on success or false on failure.

Examples:


<?php
$uri 
http_build_uri("page.php""https"NULL488);
?>

@@ -113,6 +113,19 @@ if none match.

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

+

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

+

This function negotiates the clients preferred content type based on its
+Accept HTTP header. The qualifier is recognized and content types
+without qualifier are rated highest.

+

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

+

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

+

Example:


+<?php
$ctypes 
= array('application/xhtml+xml''text/html');
http_send_content_type(http_negotiate_content_type($ctypes));
?>
+

+

bool http_send_status(int status)

Send HTTP status code.

Expects an HTTP status code as parameter.

@@ -384,8 +397,6 @@ all supported features that depend on external libraries.

and SSL requests can be issued
  • HTTP_SUPPORT_ENCODINGS: whether ext/http was linked against zlib,
    and compressed HTTP responses can be decoded
    -
  • HTTP_SUPPORT_MHASHETAGS: whether ext/http was linked against libmhash,
    - and ETags can be generated with the available mhash algorithms
  • HTTP_SUPPORT_MAGICMIME: whether ext/http was linked against libmagic,
    and the HttpResponse::guessContentType() method is usable

    @@ -480,6 +491,15 @@ This provides limited functionality compared to HttpRequest and HttpResponse.

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

    Returns the full message as string.

    +

    int HttpMessage::count()

    +

    Implements Countable.

    +

    Returns the number of parent messages + 1.

    +

    string HttpMessage::serialize()

    +

    Implements Serializable.

    +

    Returns the serialized representation of the HttpMessage.

    +

    void HttpMessage::unserialize(string serialized)

    +

    Implements Serializable.

    +

    Re-constructs the HttpMessage based upon the serialized string.


    http_request_object.c

    HttpRequest

    @@ -549,7 +569,7 @@ pairs to add.

    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.

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

    @@ -697,6 +717,11 @@ cycle.

    references the last received response. Use HttpMessage::getParentMessage()
    to access the data of previously sent requests whithin this request
    cycle.

    +

    Note that the internal request message is immutable, that means that the
    +request message received through HttpRequest::getRequestMessage() will
    +always look the same for the same request, regardless of any changes you
    +may have made to the returned object.

    +

    Throws HttpMalformedHeadersException, HttpEncodingException.

    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
    @@ -705,20 +730,26 @@ HttpRequest::$recoedHistory to FALSE.

    history.

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

    -

    Throws HttpMalformedHeaderException.

    +

    Note that the internal history is immutable, that means that any changes
    +you make the the message list won't affect a history message list newly
    +created by another call to HttpRequest::getHistory().

    +

    Throws HttpMalformedHeaderException, HttpEncodingException.

    void HttpRequest::clearHistory()

    Clear the history.

    HttpMessage HttpRequest::send()

    Send the HTTP request.

    Returns the received response as HttpMessage object.

    +

    NOTE: While an exception may be thrown, the transfer could have succeeded
    +at least partially, so you might want to check the return values of various
    +HttpRequest::getResponse*() methods.

    Throws HttpRuntimeException, HttpRequestException,
    HttpMalformedHeaderException, HttpEncodingException.

    GET example:


    -<?php
    $r 
    = new HttpRequest('http://example.com/feed.rss'HTTP_GET);
    $r->setOptions(array('lastmodified' => filemtime('local.rss')));
    $r->addQueryData(array('category' => 3));
    try {
        
    $r->send();
        if (
    $r->getResponseCode() == 200) {
            
    file_put_contents('local.rss'$r->getResponseBody());
       }
    } catch (
    HttpException $ex) {
        echo 
    $ex;
    }
    ?>
    +<?php
    $r 
    = new HttpRequest('http://example.com/feed.rss'HttpRequest::METH_GET);
    $r->setOptions(array('lastmodified' => filemtime('local.rss')));
    $r->addQueryData(array('category' => 3));
    try {
        
    $r->send();
        if (
    $r->getResponseCode() == 200) {
            
    file_put_contents('local.rss'$r->getResponseBody());
       }
    } catch (
    HttpException $ex) {
        echo 
    $ex;
    }
    ?>

    POST example:


    -<?php
    $r 
    = new HttpRequest('http://example.com/form.php'HTTP_POST);
    $r->setOptions(array('cookies' => array('lang' => 'de')));
    $r->addPostFields(array('user' => 'mike''pass' => 's3c|r3t'));
    $r->addPostFile('image''profile.jpg''image/jpeg');
    try {
        echo 
    $r->send()->getBody();
    } catch (
    HttpException $ex) {
        echo 
    $ex;
    }
    ?>
    +<?php
    $r 
    = new HttpRequest('http://example.com/form.php'HttpRequest::METH_POST);
    $r->setOptions(array('cookies' => array('lang' => 'de')));
    $r->addPostFields(array('user' => 'mike''pass' => 's3c|r3t'));
    $r->addPostFile('image''profile.jpg''image/jpeg');
    try {
        echo 
    $r->send()->getBody();
    } catch (
    HttpException $ex) {
        echo 
    $ex;
    }
    ?>


    @@ -731,7 +762,7 @@ able to send several HttpRequests in parallel.

    object while you're using the implemented Interator interface.

    Accepts virtual infinite optional parameters each referencing an
    HttpRequest object.

    -

    Throws HttpRequestException, HttpRequestPoolException, HttpInvalidParamException.

    +

    Throws HttpRequestPoolException (HttpRequestException, HttpInvalidParamException).

    Example:


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

    @@ -757,8 +788,7 @@ HttpRequestPool object.

    bool HttpRequestPool::send()

    Send all attached HttpRequest objects in parallel.

    Returns TRUE on success, or FALSE on failure.

    -

    Throws HttpSocketException, HttpRequestException,
    -HttpRequestPoolException, HttpMalformedHeaderException.

    +

    Throws HttpRequestPoolException (HttpSocketException, HttpRequestException, HttpMalformedHeaderException).

    protected bool HttpRequestPool::socketPerform()

    Returns TRUE until each request has finished its transaction.

    Usage:


    @@ -778,6 +808,9 @@ HttpRequestPoolException, HttpMalformedHeaderException.

    Implements Iterator::next().

    void HttpRequestPool::rewind()

    Implements Iterator::rewind().

    +

    int HttpRequestPool::count()

    +

    Implements Countable.

    +

    Returns the number of attached HttpRequest objects.

    array HttpRequestPool::getAttachedRequests()

    Get attached HttpRequest objects.

    Returns an array containing all currently attached HttpRequest objects.

    @@ -953,6 +986,8 @@ http.cache_log is set.

  • http_negotiate_charset
  • +
  • http_negotiate_content_type +
  • http_send_status
  • http_send_last_modified @@ -1053,6 +1088,9 @@ http.cache_log is set.

  • HttpMessage::getParentMessage()
  • HttpMessage::send()
  • HttpMessage::toString()
  • +
  • HttpMessage::count()
  • +
  • HttpMessage::serialize()
  • +
  • HttpMessage::unserialize()
  • @@ -1120,6 +1158,7 @@ http.cache_log is set.

  • HttpRequestPool::key()
  • HttpRequestPool::next()
  • HttpRequestPool::rewind()
  • +
  • HttpRequestPool::count()
  • HttpRequestPool::getAttachedRequests()
  • HttpRequestPool::getFinishedRequests()
  • @@ -1161,7 +1200,7 @@ http.cache_log is set.

    -

    Generated at: Fri, 04 Nov 2005 12:29:06 +0100

    +

    Generated at: Fri, 09 Dec 2005 13:56:42 +0100