<?php /** * Part of Windwalker project. * * @copyright Copyright (C) 2016 LYRASOFT. All rights reserved. * @license GNU General Public License version 2 or later. */ use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; include_once __DIR__ . '/../../../../vendor/autoload.php'; //show($request = \Windwalker\Http\ServerRequestFactory::fromGlobals()); // //show($request->getUri()); $server = \Windwalker\Http\WebHttpServer::create(function ($request, ResponseInterface $response, $finalHandler) { }, \Windwalker\Http\Request\ServerRequestFactory::createFromGlobals(), new \Windwalker\Http\Response\HtmlResponse()); $server->listen(function ($request, $response) use($server) { });
<?php /** * Part of Windwalker project. * * @copyright Copyright (C) 2016 LYRASOFT. All rights reserved. * @license GNU General Public License version 2 or later. */ use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; include_once __DIR__ . '/../../../../vendor/autoload.php'; //show($request = \Windwalker\Http\ServerRequestFactory::fromGlobals()); // //show($request->getUri()); $server = \Windwalker\Http\WebHttpServer::createFromRequest(function ($request, ResponseInterface $response, $finalHandler) { // $response = $response->withHeader('Content-Type', 'application/json'); // $response->getBody()->write('Hello World!'); $response = new \Windwalker\Http\Response\XmlResponse('<root><f>中文 World!</f></root>'); $response = $response->withHeader('asd', 123); $response = $finalHandler($request, $response); return $response; }, \Windwalker\Http\Request\ServerRequestFactory::createFromGlobals(), new \Windwalker\Http\Response\HtmlResponse()); //$server->getOutput() $server->listen(function ($request, $response) use($server) { return $server->compress($response); });
/** * Method to test getUriData(). * * @return void * * @covers \Windwalker\Http\WebHttpServer::getUriData */ public function testGetUriData() { $server = new WebHttpServer(function () { }, ServerRequestFactory::createFromGlobals(array('HTTPS' => 'off', 'SERVER_NAME' => 'example.com', 'SERVER_PORT' => '8080', 'QUERY_STRING' => '?a=b&c=d', 'REQUEST_URI' => '/flower/sakura/index.php/foo/bar?a=wrong', 'SCRIPT_NAME' => '/flower/sakura/index.php'))); $uri = $server->getUriData(); $this->assertEquals('http://example.com:8080/flower/sakura/index.php/foo/bar?a=b&c=d', $uri->full); $this->assertEquals('http://example.com:8080/flower/sakura/index.php/foo/bar', $uri->current); $this->assertEquals('index.php', $uri->script); $this->assertEquals('http://example.com:8080/flower/sakura', $uri->root); $this->assertEquals('foo/bar', $uri->route); $this->assertEquals('http://example.com:8080', $uri->host); $this->assertEquals('/flower/sakura', $uri->path); $server = new WebHttpServer(function () { }, new ServerRequest(array('SCRIPT_NAME' => '/flower/sakura/index.php'), array(), 'http://example.com:8080/flower/sakura/index.php/foo/bar?a=b&c=d', 'GET')); $this->assertEquals($uri, $server->getUriData()); }