Skip to content

Commit 76fb422

Browse files
committed
Move ServerRequest class to React\Http\Message\ServerRequest
1 parent 4e350a6 commit 76fb422

13 files changed

Lines changed: 54 additions & 25 deletions

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ multiple concurrent HTTP requests without blocking.
7070
* [withResponseBuffer()](#withresponsebuffer)
7171
* [React\Http\Message](#reacthttpmessage)
7272
* [Response](#response)
73+
* [ServerRequest](#serverrequest)
7374
* [React\Http\Middleware](#reacthttpmiddleware)
7475
* [StreamingRequestMiddleware](#streamingrequestmiddleware)
7576
* [LimitConcurrentRequestsMiddleware](#limitconcurrentrequestsmiddleware)
@@ -2356,6 +2357,26 @@ which in turn extends the
23562357
of ReactPHPs `ReadableStreamInterface` for the `$body` argument. This base
23572358
class is considered an implementation detail that may change in the future.
23582359

2360+
#### ServerRequest
2361+
2362+
The `ServerRequest` class can be used to
2363+
respresent an incoming server request message.
2364+
2365+
This class implements the
2366+
[PSR-7 `ServerRequestInterface`](https://www.php-fig.org/psr/psr-7/#321-psrhttpmessageserverrequestinterface)
2367+
which extends the
2368+
[PSR-7 `RequestInterface`](https://www.php-fig.org/psr/psr-7/#32-psrhttpmessagerequestinterface)
2369+
which in turn extends the
2370+
[PSR-7 `MessageInterface`](https://www.php-fig.org/psr/psr-7/#31-psrhttpmessagemessageinterface).
2371+
2372+
This is mostly used internally to represent each incoming request message.
2373+
Likewise, you can also use this class in test cases to test how your web
2374+
application reacts to certain HTTP requests.
2375+
2376+
> Internally, this implementation builds on top of an existing outgoing
2377+
request message and only adds required server methods. This base class is
2378+
considered an implementation detail that may change in the future.
2379+
23592380
### React\Http\Middleware
23602381

23612382
#### StreamingRequestMiddleware

src/Io/RequestHeaderParser.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Evenement\EventEmitter;
66
use Psr\Http\Message\ServerRequestInterface;
7+
use React\Http\Message\ServerRequest;
78
use React\Socket\ConnectionInterface;
89
use Exception;
910

src/Io/StreamingServer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
use Psr\Http\Message\ServerRequestInterface;
88
use React\EventLoop\LoopInterface;
99
use React\Http\Message\Response;
10+
use React\Http\Message\ServerRequest;
1011
use React\Promise;
1112
use React\Promise\CancellablePromiseInterface;
1213
use React\Promise\PromiseInterface;
Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,31 @@
11
<?php
22

3-
namespace React\Http\Io;
3+
namespace React\Http\Message;
44

55
use Psr\Http\Message\ServerRequestInterface;
66
use Psr\Http\Message\StreamInterface;
77
use Psr\Http\Message\UriInterface;
88
use RingCentral\Psr7\Request;
99

1010
/**
11-
* [Internal] Implementation of the PSR-7 `ServerRequestInterface`
11+
* Respresents an incoming server request message.
1212
*
13-
* This is used internally to represent each incoming request message.
13+
* This class implements the
14+
* [PSR-7 `ServerRequestInterface`](https://www.php-fig.org/psr/psr-7/#321-psrhttpmessageserverrequestinterface)
15+
* which extends the
16+
* [PSR-7 `RequestInterface`](https://www.php-fig.org/psr/psr-7/#32-psrhttpmessagerequestinterface)
17+
* which in turn extends the
18+
* [PSR-7 `MessageInterface`](https://www.php-fig.org/psr/psr-7/#31-psrhttpmessagemessageinterface).
1419
*
15-
* This implementation builds on top of an existing outgoing request message and
16-
* only adds required server methods.
20+
* This is mostly used internally to represent each incoming request message.
21+
* Likewise, you can also use this class in test cases to test how your web
22+
* application reacts to certain HTTP requests.
1723
*
18-
* Note that this is an internal class only and nothing you should usually care
19-
* about. See the `ServerRequestInterface` for more details.
24+
* > Internally, this implementation builds on top of an existing outgoing
25+
* request message and only adds required server methods. This base class is
26+
* considered an implementation detail that may change in the future.
2027
*
2128
* @see ServerRequestInterface
22-
* @internal
2329
*/
2430
class ServerRequest extends Request implements ServerRequestInterface
2531
{

tests/Io/MiddlewareRunnerTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@
33
namespace React\Tests\Http\Io;
44

55
use Clue\React\Block;
6+
use Psr\Http\Message\RequestInterface;
67
use Psr\Http\Message\ResponseInterface;
78
use Psr\Http\Message\ServerRequestInterface;
89
use React\EventLoop\Factory;
910
use React\Http\Io\MiddlewareRunner;
10-
use React\Http\Io\ServerRequest;
11+
use React\Http\Message\ServerRequest;
1112
use React\Promise;
13+
use React\Promise\CancellablePromiseInterface;
14+
use React\Promise\PromiseInterface;
1215
use React\Tests\Http\Middleware\ProcessStack;
1316
use React\Tests\Http\TestCase;
1417
use RingCentral\Psr7\Response;
15-
use Psr\Http\Message\RequestInterface;
16-
use React\Promise\CancellablePromiseInterface;
17-
use React\Promise\PromiseInterface;
1818

1919
final class MiddlewareRunnerTest extends TestCase
2020
{

tests/Io/MultipartParserTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
namespace React\Tests\Http\Io\Middleware;
44

55
use React\Http\Io\MultipartParser;
6-
use React\Http\Io\ServerRequest;
6+
use React\Http\Message\ServerRequest;
77
use React\Tests\Http\TestCase;
88

99
final class MultipartParserTest extends TestCase

tests/Io/StreamingServerTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
namespace React\Tests\Http\Io;
44

55
use Psr\Http\Message\ServerRequestInterface;
6-
use React\Http\Io\StreamingServer;
76
use React\EventLoop\Factory;
7+
use React\Http\Io\StreamingServer;
88
use React\Http\Message\Response;
99
use React\Promise\Promise;
1010
use React\Stream\ThroughStream;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?php
22

3-
namespace React\Tests\Http\Io;
3+
namespace React\Tests\Http\Message;
44

5-
use React\Http\Io\ServerRequest;
5+
use React\Http\Message\ServerRequest;
66
use React\Tests\Http\TestCase;
77

88
class ServerRequestTest extends TestCase

tests/Middleware/LimitConcurrentRequestsMiddlewareTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@
44

55
use Psr\Http\Message\ServerRequestInterface;
66
use React\Http\Io\HttpBodyStream;
7-
use React\Http\Io\ServerRequest;
7+
use React\Http\Message\Response;
8+
use React\Http\Message\ServerRequest;
89
use React\Http\Middleware\LimitConcurrentRequestsMiddleware;
910
use React\Promise\Deferred;
1011
use React\Promise\Promise;
12+
use React\Promise\PromiseInterface;
1113
use React\Stream\ThroughStream;
1214
use React\Tests\Http\TestCase;
13-
use React\Promise\PromiseInterface;
14-
use React\Http\Message\Response;
1515

1616
final class LimitConcurrentRequestsMiddlewareTest extends TestCase
1717
{

tests/Middleware/RequestBodyBufferMiddlewareTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
use Psr\Http\Message\ServerRequestInterface;
77
use React\EventLoop\Factory;
88
use React\Http\Io\HttpBodyStream;
9-
use React\Http\Io\ServerRequest;
10-
use React\Http\Middleware\RequestBodyBufferMiddleware;
119
use React\Http\Message\Response;
10+
use React\Http\Message\ServerRequest;
11+
use React\Http\Middleware\RequestBodyBufferMiddleware;
1212
use React\Stream\ThroughStream;
1313
use React\Tests\Http\TestCase;
1414
use RingCentral\Psr7\BufferStream;

0 commit comments

Comments
 (0)