2019-09-06 23:53:10 +08:00

98 lines
3.1 KiB
PHP
Executable File

--TEST--
swoole_http_server: cookies
--SKIPIF--
<?php require __DIR__ . '/../include/skipif.inc'; ?>
--INI--
assert.active=1
assert.warning=1
assert.bail=0
assert.quiet_eval=0
--FILE--
<?php
require_once __DIR__ . '/../include/bootstrap.php';
require_once __DIR__ . '/../include/swoole.inc';
require_once __DIR__ . '/../include/lib/curl.php';
$cookies = array (
'8MLP_5753_saltkey' => 'RSU8HYED',
'8MLP_5753_lastvisit' => '1426120671',
'attentiondomain' => '2z.cn,chinaz.com,kuaishang.cn,cxpcms.com',
'8MLP_5753_security_cookiereport' => 'c014Hgufskpv55xgM9UaB/ZZdMrcN0QqBYdcGomTu8OlTDWzTA0z',
'8MLP_5753_ulastactivity' => 'e4a1aRIbgdzoRDd8NlT5CMIwLnWjyjr2hWyfn6T5g82RitUOdf3o',
'mytool_user' => 'uSHVgCUFWf5Sv2Y8tKytQRUJW3wMVT3rw5xQLNGQFIsod4C6vYWeGA==',
'PHPSESSID' => 't3hp9h4o8rb3956t5pajnsfab1',
'8MLP_5753_st_p' => '1024432|1428040399|f7599ba9053aa27e12e9e597a4c372ce',
'8MLP_5753_st_t' => '1024432|1428040402|46d40e02d899b10b431822eb1d39f6a1',
'8MLP_5753_forum_lastvisit' => 'D_140_1427103032D_165_1427427405D_168_1427870172D_167_1427870173D_166_1428021390D_163_1428040402',
'8MLP_5753_sid' => 'k25gxK',
'cmstop_page-view-mode' => 'view',
'cmstop_rememberusername' => 'error',
'cmstop_auth' => 'Jcn2qzVn9nsjqtodER9OphcW3PURDWNx6mO7j0Zbb9k=',
'cmstop_username' => 'error',
'Hm_lvt_aecc9715b0f5d5f7f34fba48a3c511d6' => '1427967317,1428021376,1428036617,1428040224',
'Hm_lpvt_aecc9715b0f5d5f7f34fba48a3c511d6' => '1428050417',
'YjVmNm_timeout' => '0',
);
$pm = new ProcessManager;
$pm->parentFunc = function ($pid) use ($cookies) {
$client = new swoole_client(SWOOLE_SOCK_TCP);
if (!$client->connect('127.0.0.1', 9501, 1))
{
exit("connect failed. Error: {$client->errCode}\n");
}
$header = "GET /index.php HTTP/1.1\r\n";
$header .= "Host: 127.0.0.1\r\n";
$header .= "Connection: keep-alive\r\n";
$header .= "Cache-Control: max-age=0\r\n";
$cookieStr = '';
foreach($cookies as $k => $v)
{
$cookieStr .= "$k=$v; ";
}
$cookieStr .= "end=1";
$cookies['end'] = "1";
$header .= "Cookie: $cookieStr\r\n";
$header .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8\r\n";
$header .= "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.116 Safari/537.36\r\n";
$header .= "\r\n";
$_sendStr = $header;
$client->send($_sendStr);
$data = $client->recv();
$client->close();
list(, $_respCookieStr) = explode("\r\n\r\n", $data);
$respCookie = json_decode($_respCookieStr, true);
assert($respCookie == $cookies);
swoole_process::kill($pid);
};
$pm->childFunc = function () use ($pm) {
$http = new swoole_http_server("127.0.0.1", 9501, SWOOLE_BASE);
$http->set(['log_file' => '/dev/null']);
$http->on("WorkerStart", function ($serv, $wid) {
global $pm;
$pm->wakeup();
});
$http->on("request", function ($request, $response) {
$response->end(json_encode($request->cookie));
});
$http->start();
};
$pm->childFirst();
$pm->run();
?>
--EXPECT--