diff --git a/httpclient.php b/httpclient.php index 1f9c3db..f4264b6 100644 --- a/httpclient.php +++ b/httpclient.php @@ -14,7 +14,8 @@ class Httpclient //// PROPERTIES //// ////////////////////////// // {{{ - /** The chunk size staying to read + /** The debug depth. 0: Nothing is displayed, 1: Only URL are displayed, + * 2: headers only, 3: all the content */ private $debug = null; @@ -195,7 +196,7 @@ class Httpclient { if ($debug === null) return $this->debug; - $this->debug = !! ($debug); + $this->debug = intval ($debug); return $this; } // }}} @@ -319,6 +320,7 @@ class Httpclient $location = $parseURLInit["host"].$location; if (! key_exists ("scheme", $parseURLLocation)) $location = $parseURLInit["scheme"]."://".$location; + $this->log (1, "REDIRECT $this->httpCode to $location"); $content = $this->getPage ($location, $ssloptions); } $this->redirectCount = 0; @@ -394,6 +396,7 @@ class Httpclient throw new \Exception ("No host provided to URL", 406); // }}} + $this->log (1, "URL $this->method $this->url"); // Prepare the headers to be sent // {{{ $this->headersSent = array (); @@ -428,6 +431,8 @@ class Httpclient } $this->headersSent[] = "Content-Length: $len"; } + $this->log (2, "Headers Send :"); + $this->log (2, $this->headersSent); // }}} // Send the request to the server @@ -517,6 +522,8 @@ class Httpclient $this->cookieAdd ($parseURL["host"], $cookie); } } + $this->log (2, "Headers Received :"); + $this->log (2, $this->headersReceived); $this->contentMethod = false; if (key_exists ("Transfer-Encoding", $headers) && @@ -577,6 +584,7 @@ class Httpclient $this->tcpclient->readMode ("text"); $cr = trim ($this->tcpclient->read ()); } + $this->log (3, $content); return $content; } // }}} @@ -590,6 +598,25 @@ class Httpclient } // }}} + /** Display the log message + * @param integer $priority The minimal priority to display the message + * @param mixed $message The message to display + */ + public function log ($priority, $message) + { + if ($this->debug < $priority) + return; +echo "LOG $this->debug < $priority\n"; + if (is_array ($message)) + print_r ($message); + elseif (is_bool ($message)) + { + if ($message) echo "TRUE\n"; else echo "FALSE\n"; + } + else + echo "$message\n"; + } + ////////////////////////////////// //// COOKIES MANAGEMENT //// //////////////////////////////////