@@ -10,6 +10,7 @@ use Laravel\Octane\RoadRunner\RoadRunnerClient;
1010use Laravel \Octane \Stream ;
1111use Laravel \Octane \Worker ;
1212use Psr \Http \Message \ServerRequestInterface ;
13+ use Spiral \Goridge \Exception \RelayException ;
1314use Spiral \Goridge \Relay ;
1415use Spiral \RoadRunner \Http \PSR7Worker ;
1516use 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