Commit 69f330de authored by Bas de Nooijer's avatar Bas de Nooijer

Small fix for authentication and added a unittest

parent eed1f2e5
......@@ -111,6 +111,10 @@ class Solarium_Client_Adapter_Http extends Solarium_Client_Adapter
}
}
if ( isset( $this->_options['username']) && isset( $this->_options['password'])) {
$request->addHeader('Authorization: Basic ' . base64_encode($this->_options['username']. ':' . $this->_options['password'] ));
}
$headers = $request->getHeaders();
if (count($headers) > 0) {
stream_context_set_option(
......@@ -121,12 +125,6 @@ class Solarium_Client_Adapter_Http extends Solarium_Client_Adapter
);
}
if ( isset( $this->_options['username']) && isset( $this->_options['password'])) {
$request->addHeader('Authorization: Basic ' . base64_encode($this->_options['username']. ':' . $this->_options['password'] ));
}
return $context;
}
......
......@@ -150,4 +150,26 @@ class Solarium_Client_Adapter_HttpTest extends PHPUnit_Framework_TestCase
);
}
public function testCreateContextWithAuthorization()
{
$timeout = 13;
$method = Solarium_Client_Request::METHOD_HEAD;
$request = new Solarium_Client_Request();
$request->setMethod($method);
$this->_adapter->setOptions(array(
'username' => 'someone',
'password' => 'S0M3p455'
));
$this->_adapter->setTimeout($timeout);
$context = $this->_adapter->createContext($request);
$this->assertEquals(
array('http' => array('method' => $method, 'timeout' => $timeout, 'header' => 'Authorization: Basic c29tZW9uZTpTME0zcDQ1NQ==')),
stream_context_get_options($context)
);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment