Skip to content

Commit 8ebe5b0

Browse files
committed
Always store the original error in QueryError
1 parent 16cc3c6 commit 8ebe5b0

File tree

3 files changed

+11
-5
lines changed

3 files changed

+11
-5
lines changed

errors/errors.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ type QueryError struct {
1010
Path []interface{} `json:"path,omitempty"`
1111
Extensions map[string]interface{} `json:"extensions,omitempty"`
1212
Rule string `json:"-"`
13-
ResolverError error `json:"-"`
13+
OriginalError error `json:"-"`
1414
PanicValue interface{} `json:"-"`
1515
}
1616

internal/exec/exec.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,9 @@ func (r *Request) Execute(ctx context.Context, s *resolvable.Schema, op *query.O
4747
}()
4848

4949
if err := ctx.Err(); err != nil {
50-
return nil, []*errors.QueryError{errors.Errorf("%s", err)}
50+
qErr := errors.Errorf("%s", err)
51+
qErr.OriginalError = err
52+
return nil, []*errors.QueryError{qErr}
5153
}
5254

5355
return out.Bytes(), r.Errs
@@ -210,7 +212,7 @@ func execFieldSelection(ctx context.Context, r *Request, f *fieldToExec, path *p
210212
resolverErr := callOut[1].Interface().(error)
211213
err := errors.Errorf("%s", resolverErr)
212214
err.Path = path.toSlice()
213-
err.ResolverError = resolverErr
215+
err.OriginalError = resolverErr
214216
return err
215217
}
216218
return nil

internal/exec/selected/selected.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ func applySelectionSet(r *Request, e *resolvable.Object, sels []query.Selection)
9696
p := packer.ValuePacker{ValueType: reflect.TypeOf("")}
9797
v, err := p.Pack(field.Arguments.MustGet("name").Value(r.Vars))
9898
if err != nil {
99-
r.AddError(errors.Errorf("%s", err))
99+
qErr := errors.Errorf("%s", err)
100+
qErr.OriginalError = err
101+
r.AddError(qErr)
100102
return nil
101103
}
102104

@@ -126,7 +128,9 @@ func applySelectionSet(r *Request, e *resolvable.Object, sels []query.Selection)
126128
var err error
127129
packedArgs, err = fe.ArgsPacker.Pack(args)
128130
if err != nil {
129-
r.AddError(errors.Errorf("%s", err))
131+
qErr := errors.Errorf("%s", err)
132+
qErr.OriginalError = err
133+
r.AddError(qErr)
130134
return
131135
}
132136
}

0 commit comments

Comments
 (0)