Skip to content

Commit 6b4db3a

Browse files
authored
Fixes "Incorrect header size" (#719)
1 parent 5fa985d commit 6b4db3a

File tree

1 file changed

+20
-17
lines changed

1 file changed

+20
-17
lines changed

bin/roadrunner-worker

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use Laravel\Octane\RoadRunner\RoadRunnerClient;
1010
use Laravel\Octane\Stream;
1111
use Laravel\Octane\Worker;
1212
use Psr\Http\Message\ServerRequestInterface;
13+
use Spiral\Goridge\Exception\RelayException;
1314
use Spiral\Goridge\Relay;
1415
use Spiral\RoadRunner\Http\PSR7Worker;
1516
use Spiral\RoadRunner\Worker as RoadRunnerWorker;
@@ -36,28 +37,30 @@ $roadRunnerClient = new RoadRunnerClient($psr7Client = new PSR7Worker(
3637

3738
$worker = null;
3839

39-
while ($psr7Request = $psr7Client->waitRequest()) {
40-
try {
40+
try {
41+
while ($psr7Request = $psr7Client->waitRequest()) {
4142
$worker = $worker ?: tap((new Worker(
4243
new ApplicationFactory($basePath), $roadRunnerClient
4344
)))->boot();
44-
} catch (Throwable $e) {
45-
Stream::shutdown($e);
4645

47-
exit(1);
48-
}
49-
50-
if (! $psr7Request instanceof ServerRequestInterface) {
51-
break;
52-
}
46+
if (! $psr7Request instanceof ServerRequestInterface) {
47+
break;
48+
}
5349

54-
[$request, $context] = $roadRunnerClient->marshalRequest(new RequestContext([
55-
'psr7Request' => $psr7Request
56-
]));
50+
[$request, $context] = $roadRunnerClient->marshalRequest(new RequestContext([
51+
'psr7Request' => $psr7Request,
52+
]));
5753

58-
$worker->handle($request, $context);
59-
}
54+
$worker->handle($request, $context);
55+
}
56+
} catch (Throwable $e) {
57+
if (! $e instanceof RelayException) {
58+
$worker ? report($e) : Stream::shutdown($e);
59+
}
6060

61-
if (! is_null($worker)) {
62-
$worker->terminate();
61+
exit(1);
62+
} finally {
63+
if (! is_null($worker)) {
64+
$worker->terminate();
65+
}
6366
}

0 commit comments

Comments
 (0)