mirror of
https://github.com/predis/predis.git
synced 2026-09-11 10:57:00 +00:00
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:
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user