Skip to content

Commit bef00f3

Browse files
authored
fix: return Extism error message regardless of the return code (#86)
1 parent 6a22323 commit bef00f3

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

extism.go

+12-9
Original file line numberDiff line numberDiff line change
@@ -525,20 +525,23 @@ func (p *Plugin) CallWithContext(ctx context.Context, name string, data []byte)
525525
return rc, []byte{}, err
526526
}
527527

528-
if rc != 0 {
529-
errMsg := p.GetError()
530-
if errMsg == "" {
531-
errMsg = "encountered an unknown error in call to Extism p function " + name
532-
}
533-
return rc, []byte{}, errors.New(errMsg)
528+
var returnErr error = nil
529+
errMsg := p.GetErrorWithContext(ctx)
530+
if errMsg != "" {
531+
returnErr = errors.New(errMsg)
534532
}
535533

536-
output, err := p.GetOutput()
534+
output, err := p.GetOutputWithContext(ctx)
537535
if err != nil {
538-
return rc, []byte{}, fmt.Errorf("failed to get output: %v", err)
536+
e := fmt.Errorf("failed to get output: %v", err)
537+
if returnErr != nil {
538+
return rc, []byte{}, errors.Join(returnErr, e)
539+
} else {
540+
return rc, []byte{}, e
541+
}
539542
}
540543

541-
return rc, output, nil
544+
return rc, output, returnErr
542545
}
543546

544547
func calculateHash(data []byte) string {

0 commit comments

Comments
 (0)