Пример #1
0
 /**
  * @static
  * @throws \Exception
  * @return User
  */
 public static function authenticateHttpBasic()
 {
     // we're using Sabre\HTTP for basic auth
     $request = \Sabre\HTTP\Sapi::getRequest();
     $response = new \Sabre\HTTP\Response();
     $auth = new \Sabre\HTTP\Auth\Basic(Tool::getHostname(), $request, $response);
     $result = $auth->getCredentials();
     if (is_array($result)) {
         list($username, $password) = $result;
         $user = self::authenticatePlaintext($username, $password);
         if ($user) {
             return $user;
         }
     }
     $auth->requireLogin();
     $response->setBody("Authentication required");
     \Logger::error("Authentication Basic (WebDAV) required");
     \Sabre\HTTP\Sapi::sendResponse($response);
     die;
 }
Пример #2
0
 /**
  * Sends compiled view
  * @param	string	$tpl_name		Name of the template (in "dot" notation)
  * @param	array	$data			Array containing your data; empty by default
  * @param	integer	$status_code	HTTP status code for the response; 200 by default
  */
 function view($tpl_name, $data = [], $status_code = 200)
 {
     $response = new HTTP\Response();
     $response->setStatus($status_code);
     $response->setBody(twig()->render($tpl_name, $data));
     HTTP\Sapi::sendResponse($response);
 }
Пример #3
0
 * @author Evert Pot (http://evertpot.com/)
 * @license http://sabre.io/license/ Modified BSD License
 */
$userList = ["user1" => "password", "user2" => "password"];
use Sabre\HTTP\Sapi;
use Sabre\HTTP\Response;
use Sabre\HTTP\Auth;
// Find the autoloader
$paths = [__DIR__ . '/../vendor/autoload.php', __DIR__ . '/../../../autoload.php', __DIR__ . '/vendor/autoload.php'];
foreach ($paths as $path) {
    if (file_exists($path)) {
        include $path;
        break;
    }
}
$request = Sapi::getRequest();
$response = new Response();
$basicAuth = new Auth\Basic("Locked down area", $request, $response);
if (!($userPass = $basicAuth->getCredentials())) {
    // No username or password given
    $basicAuth->requireLogin();
} elseif (!isset($userList[$userPass[0]]) || $userList[$userPass[0]] !== $userPass[1]) {
    // Username or password are incorrect
    $basicAuth->requireLogin();
} else {
    // Success !
    $response->setBody('You are logged in!');
}
// Sending the response
Sapi::sendResponse($response);
Пример #4
0
        $r->addRoute($route[0], $route[1], $route[2]);
    }
};
$req = $request();
$dispatcher = \FastRoute\simpleDispatcher($routeDefinitionCallback);
$routeInfo = $dispatcher->dispatch($req->getMethod(), '/' . $req->getPath());
switch ($routeInfo[0]) {
    case \FastRoute\Dispatcher::NOT_FOUND:
        $resp = $response();
        $resp->setBody('404 - Page not found');
        $resp->setStatus(404);
        \Sabre\HTTP\Sapi::sendResponse($resp);
        exit;
        break;
    case \FastRoute\Dispatcher::METHOD_NOT_ALLOWED:
        $allowedMethods = $routeInfo[1];
        $resp = $response();
        $resp->setHeader('Allow', $allowedMethods);
        $resp->setBody('405 - Method not allowed');
        $resp->setStatus(405);
        \Sabre\HTTP\Sapi::sendResponse($resp);
        exit;
        break;
    case \FastRoute\Dispatcher::FOUND:
        $className = $routeInfo[1][0];
        $method = $routeInfo[1][1];
        $vars = $routeInfo[2];
        $class = $dic->make($className);
        $class->{$method}($vars);
        break;
}
Пример #5
0
 private function showLoginForm($auth, $response)
 {
     $auth->requireLogin();
     $loginForm = new LoginForm($this->baseuri);
     $response->setBody($loginForm->getBody());
     HTTP\Sapi::sendResponse($response);
 }
Пример #6
0
 public function send()
 {
     \Sabre\HTTP\Sapi::sendResponse($this);
 }
Пример #7
0
 public function show()
 {
     $this->response->setBody('<h1>Hello World</h1>');
     \Sabre\HTTP\Sapi::sendResponse($this->response);
 }