@@ -184,56 +184,56 @@ class ServerHandler extends ServiceCall {
184
184
_service = service! ;
185
185
_descriptor = descriptor;
186
186
187
- final error = await _applyInterceptors ();
187
+ final ( error, trace) = await _applyInterceptors ();
188
188
if (error != null ) {
189
- _sendError (error);
189
+ _sendError (error, trace );
190
190
_sinkIncoming ();
191
191
return ;
192
192
}
193
193
194
194
_startStreamingRequest ();
195
195
}
196
196
197
- GrpcError ? _onMetadata () {
197
+ ( GrpcError ? , StackTrace ? ) _onMetadata () {
198
198
try {
199
199
_service.$onMetadata (this );
200
- } on GrpcError catch (error) {
201
- return error;
202
- } catch (error) {
200
+ } on GrpcError catch (error, trace ) {
201
+ return ( error, trace) ;
202
+ } catch (error, trace ) {
203
203
final grpcError = GrpcError .internal (error.toString ());
204
- return grpcError;
204
+ return ( grpcError, trace) ;
205
205
}
206
- return null ;
206
+ return ( null , null ) ;
207
207
}
208
208
209
- Future <GrpcError ?> _applyInterceptors () async {
209
+ Future <( GrpcError ?, StackTrace ?) > _applyInterceptors () async {
210
210
try {
211
211
for (final interceptor in _interceptors) {
212
212
final error = await interceptor (this , _descriptor);
213
213
if (error != null ) {
214
- return error;
214
+ return ( error, null ) ;
215
215
}
216
216
}
217
- } catch (error) {
217
+ } catch (error, trace ) {
218
218
final grpcError = GrpcError .internal (error.toString ());
219
- return grpcError;
219
+ return ( grpcError, trace) ;
220
220
}
221
- return null ;
221
+ return ( null , null ) ;
222
222
}
223
223
224
224
void _startStreamingRequest () {
225
225
final requests = _descriptor.createRequestStream (_incomingSubscription! );
226
226
_requests = requests;
227
227
_incomingSubscription! .onData (_onDataActive);
228
228
229
- final error = _onMetadata ();
229
+ final ( error, trace) = _onMetadata ();
230
230
if (error != null ) {
231
231
if (! requests.isClosed) {
232
232
requests
233
233
..addError (error)
234
234
..close ();
235
235
}
236
- _sendError (error);
236
+ _sendError (error, trace );
237
237
_onDone ();
238
238
_stream.terminate ();
239
239
return ;
0 commit comments