@ -56,7 +56,7 @@ EOT
if (!empty($opts['http']['proxy'])) {
if (!empty($opts['http']['proxy'])) {
$output->write('Checking HTTP proxy: ');
$output->write('Checking HTTP proxy: ');
$this->outputResult($output, $this->checkHttpProxy());
$this->outputResult($output, $this->checkHttpProxy());
$output->write('Checking HTTPS proxy fullrequest_ uri: ');
$output->write('Checking HTTPS proxy support for request_full uri: ');
$this->outputResult($output, $this->checkHttpsProxyFullUriRequestParam());
$this->outputResult($output, $this->checkHttpsProxyFullUriRequestParam());
}
}
@ -145,31 +145,29 @@ EOT
* Due to various proxy servers configurations, some servers cant handle non-standard HTTP "http_proxy_request_fulluri" parameter,
* Due to various proxy servers configurations, some servers cant handle non-standard HTTP "http_proxy_request_fulluri" parameter,
* and will return error 500/501 (as not implemented), see discussion @ https://github.com/composer/composer/pull/1825.
* and will return error 500/501 (as not implemented), see discussion @ https://github.com/composer/composer/pull/1825.
* This method will test, if you need to disable this parameter via setting extra environment variable in your system.
* This method will test, if you need to disable this parameter via setting extra environment variable in your system.
*
* @return bool|string
* @return bool|string
*/
*/
private function checkHttpsProxyFullUriRequestParam()
private function checkHttpsProxyFullUriRequestParam()
{
{
$protocol = 'https';
$url = 'https://api.github.com/repos/Seldaek/jsonlint/zipball/1.0.0 ';
$resultMessage = true;
try {
$rfcResult = $this->rfs->getContents('api.github.com', $url, false);
/* i've found no better file to test with so far :( */
} catch (TransportException $e) {
$filePath = '://api.github.com/repos/Seldaek/jsonlint/zipball/1.0.0 ';
if (!extension_loaded('openssl')) {
try
return 'You need the openssl extension installed for this check';
{
$rfcResult = $this->rfs->getContents('api.github.com', $protocol . $filePath, false);
}
catch (TransportException $e)
{
if (!extension_loaded('openssl'))
{
return "Sorry, but you need openssl extension installed for this check - please enable/recompile\n";
}
}
$this->rfs->getContents('api.github.com', $protocol . $filePath, false, array('http' => array('request_fulluri' => false)));
try {
$resultMessage = "Seems there is a problem with your proxy server, try setting value of your environment variable \"http_proxy_request_fulluri\" to false, and run diagnostics again\n";
$this->rfs->getContents('api.github.com', $url, false, array('http' => array('request_fulluri' => false)));
} catch (TransportException $e) {
return 'Unable to assert the situation, maybe github is down ('.$e->getMessage().')';
}
return 'It seems there is a problem with your proxy server, try setting the "HTTP_PROXY_REQUEST_FULLURI" environment variable to "false"';
}
}
return $resultMessage;
return tru e;
}
}
private function checkGithubOauth($domain, $token)
private function checkGithubOauth($domain, $token)