You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
98
vendor/swoole/tests/swoole_http_client/keepalive.phpt
vendored
Executable file
98
vendor/swoole/tests/swoole_http_client/keepalive.phpt
vendored
Executable file
@ -0,0 +1,98 @@
|
||||
--TEST--
|
||||
swoole_http_client: keepalive
|
||||
--SKIPIF--
|
||||
<?php require __DIR__ . '/../include/skipif.inc'; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
require_once __DIR__ . '/../include/bootstrap.php';
|
||||
require_once __DIR__ . '/../include/swoole.inc';
|
||||
|
||||
$pm = new ProcessManager;
|
||||
$pm->parentFunc = function ($pid)
|
||||
{
|
||||
echo file_get_contents("http://127.0.0.1:9501/keep");
|
||||
echo file_get_contents("http://127.0.0.1:9501/notkeep");
|
||||
swoole_process::kill($pid);
|
||||
};
|
||||
|
||||
$pm->childFunc = function () use ($pm)
|
||||
{
|
||||
$http = new swoole_http_server("127.0.0.1", 9501, SWOOLE_BASE);
|
||||
$http->set(array(
|
||||
'worker_num' => 1,
|
||||
'log_file' => '/dev/null'
|
||||
));
|
||||
$http->on("WorkerStart", function (\swoole_server $serv)
|
||||
{
|
||||
/**
|
||||
* @var $pm ProcessManager
|
||||
*/
|
||||
global $pm;
|
||||
if ($pm)
|
||||
{
|
||||
$pm->wakeup();
|
||||
}
|
||||
});
|
||||
$http->on('request', function ($request, swoole_http_response $response) use ($http)
|
||||
{
|
||||
$route = $request->server['request_uri'];
|
||||
if ($route == '/info')
|
||||
{
|
||||
$response->end($request->header['connection']);
|
||||
return;
|
||||
}
|
||||
elseif ($route == '/keep')
|
||||
{
|
||||
$cli = new swoole_http_client('127.0.0.1', 9501);
|
||||
$cli->set(array(
|
||||
'keep_alive' => 1,
|
||||
));
|
||||
$cli->setHeaders(array('User-Agent' => "swoole"));
|
||||
$cli->on('close', function ($cli) use ($response)
|
||||
{
|
||||
});
|
||||
$cli->on('error', function ($cli) use ($response)
|
||||
{
|
||||
echo "error";
|
||||
$response->end("error");
|
||||
});
|
||||
$cli->get('/info', function ($cli) use ($response)
|
||||
{
|
||||
$response->end($cli->body . "\n");
|
||||
$cli->close();
|
||||
});
|
||||
$http->cli = $cli;
|
||||
}
|
||||
elseif ($route == '/notkeep')
|
||||
{
|
||||
$cli = new swoole_http_client('127.0.0.1', 9501);
|
||||
$cli->set(array(
|
||||
'keep_alive' => 0,
|
||||
));
|
||||
$cli->setHeaders(array('User-Agent' => "swoole"));
|
||||
$cli->on('close', function ($cli) use ($response)
|
||||
{
|
||||
});
|
||||
$cli->on('error', function ($cli) use ($response)
|
||||
{
|
||||
echo "error";
|
||||
$response->end("error");
|
||||
});
|
||||
$cli->get('/info', function ($cli) use ($response)
|
||||
{
|
||||
$response->end($cli->body . "\n");
|
||||
});
|
||||
}
|
||||
});
|
||||
$http->start();
|
||||
};
|
||||
|
||||
$pm->childFirst();
|
||||
$pm->run();
|
||||
?>
|
||||
Done
|
||||
--EXPECTREGEX--
|
||||
keep-alive
|
||||
closed
|
||||
Done.*
|
||||
--CLEAN--
|
Reference in New Issue
Block a user