bileto/http

构建事件驱动的 HTTP 服务器的库。

维护者

详细信息

github.com/bileto/http

源代码

v0.4.1 2015-05-21 20:12 UTC

README

Build Status Code Climate

构建事件驱动的 HTTP 服务器的库。

此组件基于 Socket 组件来实现 HTTP。以下是主要概念

  • 服务器:将自己附加到 React\Socket\ServerInterface 实例,解析任何传入的数据作为 HTTP,为每个请求发出一个 request 事件。
  • 请求:一个 ReadableStream,它流式传输请求体,并包含从请求头解析出的元数据。
  • 响应:一个 WritableStream,它流式传输响应体。您可以通过 writeHead() 方法设置状态码和响应头。

用法

这是一个 HTTP 服务器,对每个请求都以 Hello World 响应。

    $loop = React\EventLoop\Factory::create();
    $socket = new React\Socket\Server($loop);

    $http = new React\Http\Server($socket);
    $http->on('request', function ($request, $response) {
        $response->writeHead(200, array('Content-Type' => 'text/plain'));
        $response->end("Hello World!\n");
    });

    $socket->listen(1337);
    $loop->run();