You've already forked qlg.tsgz.moe
							
							
		
			
				
	
	
		
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
$http = new swoole_http_server("127.0.0.1", 9501, SWOOLE_BASE);
 | 
						|
$http->set(array(
 | 
						|
    'log_file' => '/dev/null',
 | 
						|
    "http_parse_post" => 1,
 | 
						|
    "upload_tmp_dir" => "/tmp",
 | 
						|
));
 | 
						|
$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)
 | 
						|
{
 | 
						|
    $route = $request->server['request_uri'];
 | 
						|
    if ($route == '/info')
 | 
						|
    {
 | 
						|
        $response->end($request->header['user-agent']);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    elseif ($route == '/cookies')
 | 
						|
    {
 | 
						|
        $response->end(@json_encode($request->cookie));
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    elseif ($route == '/get')
 | 
						|
    {
 | 
						|
        $response->end(@json_encode($request->get));
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    elseif ($route == '/post')
 | 
						|
    {
 | 
						|
        $response->end(@json_encode($request->post));
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    elseif ($route == '/get_file')
 | 
						|
    {
 | 
						|
        $response->sendfile(TEST_IMAGE);
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    elseif ($route == '/upload_file')
 | 
						|
    {
 | 
						|
        $response->end(json_encode([
 | 
						|
            'files' => $request->files,
 | 
						|
            'md5' => md5_file($request->files['test_jpg']['tmp_name']),
 | 
						|
            'post' => $request->post
 | 
						|
        ]));
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    elseif ($route == '/gzip')
 | 
						|
    {
 | 
						|
        $response->gzip(5);
 | 
						|
        Swoole\Async::readFile(__DIR__ . '/../../../README.md', function ($file, $content) use ($response) {
 | 
						|
            $response->end($content);
 | 
						|
        });
 | 
						|
        return;
 | 
						|
    }
 | 
						|
    else
 | 
						|
    {
 | 
						|
        $cli = new swoole_http_client('127.0.0.1', 9501);
 | 
						|
        $cli->set(array(
 | 
						|
            'timeout' => 0.3,
 | 
						|
        ));
 | 
						|
        $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->start(); |