jh-admin/app/middleware/SessionMiddleware.php

49 lines
1.4 KiB
PHP

<?php
namespace app\middleware;
use \Swoole\Http\Request;
use \Swoole\Http\Response;
class SessionMiddleware
{
public function handle($data)
{
list($request, $response) = $data;
if ($request->server['path_info'] == '/favicon.ico' || $request->server['request_uri'] == '/favicon.ico') {
if (empty($request->cookie)) {
$response->end();
}
}
// var_dump($response);
// list($sessionName, $sessionId) = $this->parseSession($request);
// $request->sessionId = $sessionId;
// $cookie = session_get_cookie_params();
// $lifeTime = null;
// if($cookie['lifetime']){
// $lifeTime = time() + $cookie['lifetime'];
// }
// $response->cookie($sessionName, $sessionId, $lifeTime, $cookie['path'], $cookie['domain'], $cookie['secure'], $cookie['httponly']);
// try{
// call_user_func($this->f, $request, $response);
// }
// finally{
// session_write_close();
// unset($_SESSION);
// }
}
public function parseSession($request)
{
$sessionName = session_name();
$sessionId = session_create_id();
if (isset($request->cookie[$sessionName])) {
$sessionId = $request->cookie[$sessionName];
}
return [$sessionName, $sessionId];
}
}