diff --git a/reference/event/event.constructing.signal.events.xml b/reference/event/event.constructing.signal.events.xml
index c03e5c08bb..58fcfbcf92 100644
--- a/reference/event/event.constructing.signal.events.xml
+++ b/reference/event/event.constructing.signal.events.xml
@@ -13,7 +13,7 @@
factory method.
- Use libevent's loop to process requests of `eio' extension
+ Handling SIGTERM signal
loop();
]]>
+
+ Simple HTTP server
+
+= $max_requests) {
+ echo "Counter reached max requests $max_requests. Exiting\n";
+ exit();
+ }
+
+ echo __METHOD__, " called\n";
+ echo "request:"; var_dump($req);
+ echo "data:"; var_dump($data);
+
+ echo "\n===== DUMP =====\n";
+ echo "Command:", $req->getCommand(), PHP_EOL;
+ echo "URI:", $req->getUri(), PHP_EOL;
+ echo "Input headers:"; var_dump($req->getInputHeaders());
+ echo "Output headers:"; var_dump($req->getOutputHeaders());
+
+ echo "\n >> Sending reply ...";
+ $req->sendReply(200, "OK");
+ echo "OK\n";
+
+ echo "\n >> Reading input buffer ...\n";
+ $buf = $req->getInputBuffer();
+ while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
+ echo $s, PHP_EOL;
+ }
+ echo "No more data in the buffer\n";
+}
+
+function _http_about($req) {
+ echo __METHOD__, PHP_EOL;
+ echo "URI: ", $req->getUri(), PHP_EOL;
+ echo "\n >> Sending reply ...";
+ $req->sendReply(200, "OK");
+ echo "OK\n";
+}
+
+function _http_default($req, $data) {
+ echo __METHOD__, PHP_EOL;
+ echo "URI: ", $req->getUri(), PHP_EOL;
+ echo "\n >> Sending reply ...";
+ $req->sendReply(200, "OK");
+ echo "OK\n";
+}
+
+$port = 8010;
+if ($argc > 1) {
+ $port = (int) $argv[1];
+}
+if ($port <= 0 || $port > 65535) {
+ exit("Invalid port");
+}
+
+$base = new EventBase();
+$http = new EventHttp($base);
+$http->setAllowedMethods(EventHttpRequest::CMD_GET | EventHttpRequest::CMD_POST);
+
+$http->setCallback("/dump", "_http_dump", array(4, 8));
+$http->setCallback("/about", "_http_about");
+$http->setDefaultCallback("_http_default", "custom data value");
+
+$http->bind("0.0.0.0", 8010);
+$base->loop();
+?>
+]]>
+
+ &example.outputs.similar;
+
+
+
+
+
+
+ EventHttpConnection::makeRequest example
+
+getResponseCode();
+
+ if ($response_code == 0) {
+ echo "Connection refused\n";
+ } elseif ($response_code != 200) {
+ echo "Unexpected response: $response_code\n";
+ } else {
+ echo "Success: $response_code\n";
+ $buf = $req->getInputBuffer();
+ echo "Body:\n";
+ while ($s = $buf->readLine(EventBuffer::EOL_ANY)) {
+ echo $s, PHP_EOL;
+ }
+ }
+ }
+
+ $base->exit(NULL);
+}
+
+$address = "127.0.0.1";
+$port = 80;
+
+$base = new EventBase();
+$conn = new EventHttpConnection($base, NULL, $address, $port);
+$conn->setTimeout(5);
+$req = new EventHttpRequest("_request_handler", $base);
+
+$req->addHeader("Host", $address, EventHttpRequest::OUTPUT_HEADER);
+$req->addHeader("Content-Length", "0", EventHttpRequest::OUTPUT_HEADER);
+$conn->makeRequest($req, EventHttpRequest::CMD_GET, "/index.cphp");
+
+$base->loop();
+?>
+]]>
+
+ &example.outputs.similar;
+
+
+
+