Add support for HTTP basic access authentication.

With Webdis it is possible to define some access control rules to allow or
disallow certain commands and one of the possible configurations is based on
plain old HTTP authentication.
This commit is contained in:
Daniele Alessandri
2011-06-05 22:24:03 +02:00
parent 4b3ba03a3e
commit e5a85dfce8
+13 -1
View File
@@ -118,11 +118,23 @@ class WebdisConnection implements IConnectionSingle {
}
}
protected function getHttpOptions() {
$options = null;
if (isset($this->_parameters->user, $this->_parameters->pass)) {
$parameters = $this->_parameters;
$options = array(
'httpauth' => "{$parameters->user}:{$parameters->pass}",
'httpauthtype' => HTTP_AUTH_BASIC,
);
}
return $options;
}
public function executeCommand(ICommand $command) {
$commandId = $this->getCommandId($command);
$arguments = implode('/', array_map('urlencode', $command->getArguments()));
$request = new HttpRequest($this->_webdisUrl, HttpRequest::METH_POST);
$request = new HttpRequest($this->_webdisUrl, HttpRequest::METH_POST, $this->getHttpOptions());
$request->setBody("$commandId/$arguments.raw");
$request->send();