From 2314059e5b8fc84fcdc52e4506ec907d0c792f50 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 4 Jul 2014 17:16:09 +0200 Subject: allow for easier HTTPClient debugging Sometimes users report bugs or problems releated to HTTP connections made by our HTTPCient (eg. in the extension manager or XMLRPC). Debugging those problems previously required modifying some sources to enable the debugging output of the HTTPClient. This patch adds a way to enable the debugging via a request parameter. Since HTTP requests are often done only *after* some button was clicked, the parameter is also looked for in the referrer of a request. Debugging output is enabled through the existence of the parameter 'httpdebug' and is directly printed to the screen. Debugging HTTP only works when allowdebug is enabled. --- inc/HTTPClient.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'inc/HTTPClient.php') diff --git a/inc/HTTPClient.php b/inc/HTTPClient.php index 4352bcb97..6ac67f159 100644 --- a/inc/HTTPClient.php +++ b/inc/HTTPClient.php @@ -35,6 +35,19 @@ class DokuHTTPClient extends HTTPClient { $this->proxy_pass = conf_decodeString($conf['proxy']['pass']); $this->proxy_ssl = $conf['proxy']['ssl']; $this->proxy_except = $conf['proxy']['except']; + + // allow enabling debugging via URL parameter (if debugging allowed) + if($conf['allowdebug']) { + if( + isset($_REQUEST['httpdebug']) || + ( + isset($_SERVER['HTTP_REFERER']) && + strpos($_SERVER['HTTP_REFERER'], 'httpdebug') !== false + ) + ) { + $this->debug = true; + } + } } -- cgit v1.2.3