40 lines
899 B
PHP
40 lines
899 B
PHP
<?php defined('SYSPATH') OR die('No direct script access.');
|
|
|
|
class Kohana_HTTP_Exception_401 extends HTTP_Exception_Expected {
|
|
|
|
/**
|
|
* @var integer HTTP 401 Unauthorized
|
|
*/
|
|
protected $_code = 401;
|
|
|
|
/**
|
|
* Specifies the WWW-Authenticate challenge.
|
|
*
|
|
* @param string $challenge WWW-Authenticate challenge (eg `Basic realm="Control Panel"`)
|
|
*/
|
|
public function authenticate($challenge = NULL)
|
|
{
|
|
if ($challenge === NULL)
|
|
return $this->headers('www-authenticate');
|
|
|
|
$this->headers('www-authenticate', $challenge);
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Validate this exception contains everything needed to continue.
|
|
*
|
|
* @throws Kohana_Exception
|
|
* @return bool
|
|
*/
|
|
public function check()
|
|
{
|
|
if ($this->headers('www-authenticate') === NULL)
|
|
throw new Kohana_Exception('A \'www-authenticate\' header must be specified for a HTTP 401 Unauthorized');
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
}
|