let DEV_2 be trunk
[m6w6/ext-http] / docs / examples / tutorial.txt
diff --git a/docs/examples/tutorial.txt b/docs/examples/tutorial.txt
deleted file mode 100644 (file)
index 8d8998d..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-
-A Beginners Tutorial
---------------------
-$Revision$
-
-
-- GET Queries
-
-       The HttpRequest class can be used to execute any HTTP request method.
-       The following example shows a simple GET request where a few query
-       parameters are supplied.  Additionally potential cookies will be
-       read from and written to a file.
-
-<?php
-$r = new HttpRequest('http://www.google.com/search');
-
-// store Googles cookies in a dedicated file
-touch('google.txt');
-$r->setOptions(
-       array(  'cookiestore'   => 'google.txt',
-       )
-);
-
-$r->setQueryData(
-       array(  'q'             => '+"pecl_http" -msg -cvs -list',
-                       'hl'    => 'de'
-       )
-);
-
-// HttpRequest::send() returns an HttpMessage object
-// of type HttpMessage::TYPE_RESPONSE or throws an exception
-try {
-       print $r->send()->getBody();
-} catch (HttpException $e) {
-       print $e;
-}
-?>
-
-- Multipart Posts
-
-       The following example shows an multipart POST request, with two form
-       fields and an image that's supposed to be uploaded to the server.
-       It's a bad habit as well as common practice to issue a redirect after
-       an received POST request, so we'll allow a redirect by enabling the
-       redirect option.
-
-<?php
-$r = new HttpRequest('http://dev.iworks.at/.print_request.php', HTTP_METH_POST);
-
-// if redirects is set to true, a single redirect is allowed;
-// one can set any reasonable count of allowed redirects
-$r->setOptions(
-       array(  'cookies'       => array('MyCookie' => 'has a value'),
-                       'redirect'      => true,
-       )
-);
-
-// common form data
-$r->setPostFields(
-       array(  'name'  => 'Mike',
-                       'mail'  => 'mike@php.net',
-       )
-);
-// add the file to post (form name, file name, file type)
-touch('profile.jpg');
-$r->addPostFile('image', 'profile.jpg', 'image/jpeg');
-
-try {
-       print $r->send()->getBody();
-} catch (HttpException $e) {
-       print $e;
-}
-?>
-
-- Parallel Requests
-
-       It's possible to execute several HttpRequests in parallel with the
-       HttpRequestPool class.  HttpRequests to send, do not need to perform
-       the same request method, but can only be attached to one HttpRequestPool
-       at the same time.
-
-<?php
-try {
-       $p = new HttpRequestPool;
-       // if you want to set _any_ options of the HttpRequest object,
-       // you need to do so *prior attaching* to the request pool!
-       $p->attach(new HttpRequest('http://pear.php.net', HTTP_METH_HEAD));
-       $p->attach(new HttpRequest('http://pecl.php.net', HTTP_METH_HEAD));
-} catch (HttpException $e) {
-       print $e;
-       exit;
-}
-
-try {
-       $p->send();
-       // HttpRequestPool implements an iterator over attached HttpRequest objects
-       foreach ($p as $r) {
-               echo "Checking ", $r->getUrl(), " reported ", $r->getResponseCode(), "\n";
-       }
-} catch (HttpException $e) {
-       print $e;
-}
-?>
-
-- Parallel Requests?
-
-       You can use a more advanced approach by using the protected interface of
-       the HttpRequestPool class.  This allows you to perform some other tasks
-       while the requests are executed.
-
-<?php
-class Pool extends HttpRequestPool
-{
-       public function __construct()
-       {
-               parent::__construct(
-                       new HttpRequest('http://pear.php.net', HTTP_METH_HEAD),
-                       new HttpRequest('http://pecl.php.net', HTTP_METH_HEAD)
-               );
-
-               // HttpRequestPool methods socketPerform() and socketSelect() are
-               // protected;  one could use this approach to do something else
-               // while the requests are being executed
-               print "Executing requests";
-               for ($i = 0; $this->socketPerform(); $i++) {
-                       $i % 10 or print ".";
-                       if (!$this->socketSelect()) {
-                               throw new HttpException("Socket error!");
-                       }
-               }
-               print "\nDone!\n";
-       }
-}
-
-try {
-       foreach (new Pool as $r) {
-               echo "Checking ", $r->getUrl(), " reported ", $r->getResponseCode(), "\n";
-       }
-} catch (HttpException $ex) {
-       print $e;
-}
-?>
-
-- Cached Responses
-
-       One of the main key features of HttpResponse is HTTP caching.  HttpResponse
-       will calculate an ETag based on the http.etag_mode INI setting as well as
-       it will determine the last modification time of the sent entity.  It uses
-       those two indicators to decide if the cache entry on the client side is
-       still valid and will emit an "304 Not Modified" response if applicable.
-
-<?php
-HttpResponse::setCacheControl('public');
-HttpResponse::setCache(true);
-HttpResponse::capture();
-
-print "This will be cached until content changes!\n";
-print "Note that this approach will only save the clients download time.\n";
-?>
-
-- Bandwidth Throttling
-
-       HttpResponse supports a basic throttling mechanism, which is enabled by
-       setting a throttle delay and a buffer size.  PHP will sleep the specified
-       amount of seconds after each sent chunk of specified bytes.
-
-<?php
-// send 5000 bytes every 0.2 seconds, i.e. max ~25kByte/s
-HttpResponse::setThrottleDelay(0.2);
-HttpResponse::setBufferSize(5000);
-HttpResponse::setCache(true);
-HttpResponse::setContentType('application/x-zip');
-HttpResponse::setFile('../archive.zip');
-HttpResponse::send();
-?>