@@ -24,27 +24,28 @@ type Request struct {
2424 Limiter chan struct {}
2525 Tracer trace.Tracer
2626 Logger log.Logger
27+ QInfo string
2728}
2829
29- func (r * Request ) handlePanic (ctx context.Context , queryString string ) {
30+ func (r * Request ) handlePanic (ctx context.Context ) {
3031 if value := recover (); value != nil {
31- r .Logger .LogPanic (ctx , value )
32- r .AddError (makePanicError (value , queryString ))
32+ r .Logger .LogPanic (ctx , value , r . QInfo )
33+ r .AddError (makePanicError (value ))
3334 }
3435}
3536
3637type extensionser interface {
3738 Extensions () map [string ]interface {}
3839}
3940
40- func makePanicError (value interface {}, info string ) * errors.QueryError {
41- return errors .Errorf ("graphql: panic occurred: %v\n %s \n \n " , value , info )
41+ func makePanicError (value interface {}) * errors.QueryError {
42+ return errors .Errorf ("graphql: panic occurred: %v" , value )
4243}
4344
44- func (r * Request ) Execute (ctx context.Context , s * resolvable.Schema , op * query.Operation , queryInfo string ) ([]byte , []* errors.QueryError ) {
45+ func (r * Request ) Execute (ctx context.Context , s * resolvable.Schema , op * query.Operation ) ([]byte , []* errors.QueryError ) {
4546 var out bytes.Buffer
4647 func () {
47- defer r .handlePanic (ctx , queryInfo )
48+ defer r .handlePanic (ctx )
4849 sels := selected .ApplyOperation (& r .Request , s , op )
4950 r .execSelections (ctx , sels , nil , s , s .Resolver , & out , op .Type == query .Mutation )
5051 }()
@@ -79,7 +80,7 @@ func (r *Request) execSelections(ctx context.Context, sels []selected.Selection,
7980 for _ , f := range fields {
8081 go func (f * fieldToExec ) {
8182 defer wg .Done ()
82- defer r .handlePanic (ctx , "" )
83+ defer r .handlePanic (ctx )
8384 f .out = new (bytes.Buffer )
8485 execFieldSelection (ctx , r , s , f , & pathSegment {path , f .field .Alias }, true )
8586 }(f )
@@ -177,8 +178,8 @@ func execFieldSelection(ctx context.Context, r *Request, s *resolvable.Schema, f
177178 err = func () (err * errors.QueryError ) {
178179 defer func () {
179180 if panicValue := recover (); panicValue != nil {
180- r .Logger .LogPanic (ctx , panicValue )
181- err = makePanicError (panicValue , "" )
181+ r .Logger .LogPanic (ctx , panicValue , r . QInfo )
182+ err = makePanicError (panicValue )
182183 err .Path = path .toSlice ()
183184 }
184185 }()
@@ -337,7 +338,7 @@ func (r *Request) execList(ctx context.Context, sels []selected.Selection, typ *
337338 for i := 0 ; i < l ; i ++ {
338339 go func (i int ) {
339340 defer wg .Done ()
340- defer r .handlePanic (ctx , "" )
341+ defer r .handlePanic (ctx )
341342 r .execSelectionSet (ctx , sels , typ .OfType , & pathSegment {path , i }, s , resolver .Index (i ), & entryouts [i ])
342343 }(i )
343344 }
0 commit comments