@@ -67,8 +67,12 @@ function buffer(ReadableStreamInterface $stream, $maxLength = null)
67
67
68
68
$ stream ->on ('data ' , $ bufferer );
69
69
70
- $ stream ->on ('error ' , function ($ error ) use ($ reject ) {
71
- $ reject (new \RuntimeException ('An error occured on the underlying stream while buffering ' , 0 , $ error ));
70
+ $ stream ->on ('error ' , function (\Exception $ e ) use ($ reject ) {
71
+ $ reject (new \RuntimeException (
72
+ 'An error occured on the underlying stream while buffering: ' . $ e ->getMessage (),
73
+ $ e ->getCode (),
74
+ $ e
75
+ ));
72
76
});
73
77
74
78
$ stream ->on ('close ' , function () use ($ resolve , &$ buffer ) {
@@ -78,7 +82,7 @@ function buffer(ReadableStreamInterface $stream, $maxLength = null)
78
82
$ reject (new \RuntimeException ('Cancelled buffering ' ));
79
83
});
80
84
81
- return $ promise ->then (null , function ($ error ) use (&$ buffer , $ bufferer , $ stream ) {
85
+ return $ promise ->then (null , function (\ Exception $ error ) use (&$ buffer , $ bufferer , $ stream ) {
82
86
// promise rejected => clear buffer and buffering
83
87
$ buffer = '' ;
84
88
$ stream ->removeListener ('data ' , $ bufferer );
@@ -140,9 +144,13 @@ function first(EventEmitterInterface $stream, $event = 'data')
140
144
$ stream ->on ($ event , $ listener );
141
145
142
146
if ($ event !== 'error ' ) {
143
- $ stream ->on ('error ' , function ($ error ) use ($ stream , $ event , $ listener , $ reject ) {
147
+ $ stream ->on ('error ' , function (\ Exception $ e ) use ($ stream , $ event , $ listener , $ reject ) {
144
148
$ stream ->removeListener ($ event , $ listener );
145
- $ reject (new \RuntimeException ('An error occured on the underlying stream while waiting for event ' , 0 , $ error ));
149
+ $ reject (new \RuntimeException (
150
+ 'An error occured on the underlying stream while waiting for event: ' . $ e ->getMessage (),
151
+ $ e ->getCode (),
152
+ $ e
153
+ ));
146
154
});
147
155
}
148
156
@@ -207,8 +215,12 @@ function all(EventEmitterInterface $stream, $event = 'data')
207
215
$ stream ->on ($ event , $ bufferer );
208
216
209
217
$ promise = new Promise \Promise (function ($ resolve , $ reject ) use ($ stream , &$ buffer ) {
210
- $ stream ->on ('error ' , function ($ error ) use ($ reject ) {
211
- $ reject (new \RuntimeException ('An error occured on the underlying stream while buffering ' , 0 , $ error ));
218
+ $ stream ->on ('error ' , function (\Exception $ e ) use ($ reject ) {
219
+ $ reject (new \RuntimeException (
220
+ 'An error occured on the underlying stream while buffering: ' . $ e ->getMessage (),
221
+ $ e ->getCode (),
222
+ $ e
223
+ ));
212
224
});
213
225
214
226
$ stream ->on ('close ' , function () use ($ resolve , &$ buffer ) {
0 commit comments