mix/http-server

Http server library based on Swoole coroutine, following PSR-7 / PSR-15 standard

Maintainers

👁 onanying

Package info

github.com/mix-php/http-server

Homepage

pkg:composer/mix/http-server

Statistics

Installs: 6 793

Dependents: 8

Suggesters: 0

Stars: 0

Open Issues: 0

v3.0.27 2021-04-12 11:06 UTC

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

Apache-2.0 961ff8ac731e015c7678b8be8cd9dcc2e2191869

  • liu,jian <coder.keda.woop@gmail.com>

httpservercoroutinemixswoole


README

基于 Swoole 协程的 http server 类库,遵循 PSR-7 / PSR-15 标准

Usage

安装:

composer require mix/http-server

服务器:

  • 使用 handle 配置

'/' 将匹配所有路由

$server = new Mix\Http\Server\Server('0.0.0.0', 9596, false, false);
$server->handle('/', function (\Mix\Http\Message\ServerRequest $request, \Mix\Http\Message\Response $response) {
 $response->withBody(new \Mix\Http\Message\Stream\ContentStream('hello, world!'));
 $response->send();
});
$server->start();
  • 实现 HandlerInterface 接口
class Router implements \Mix\Http\Server\ServerHandlerInterface
{
 public function handleHTTP(ServerRequest $request, Response $response) {
 // ...
 }
}

$handler = new Router();

$server = new Mix\Http\Server\Server('0.0.0.0', 9596, false, false);
$server->start($handler);

中间件:

$process = function (ServerRequest $request, Response $response) use ($result) {
 // ...
 return $response;
};
$dispatcher = new MiddlewareDispatcher($middleware, $process, $request, $response);
$response = $dispatcher->dispatch();

License

Apache License Version 2.0, http://www.apache.org/licenses/