[jsfiddle] Improved error messages and logging
1. Wrapping errors to provide better error message context.
2. Logging failures to get/put code to scrap bucket.
Bug: none
Change-Id: I87ef0900406a8d58373a85028186c535654331ee
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/744482
Commit-Queue: Chris Mumford <cmumford@google.com>
Auto-Submit: Chris Mumford <cmumford@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
diff --git a/jsfiddle/go/jsfiddle/main.go b/jsfiddle/go/jsfiddle/main.go
index 25857d9..3670d40 100644
--- a/jsfiddle/go/jsfiddle/main.go
+++ b/jsfiddle/go/jsfiddle/main.go
@@ -112,6 +112,7 @@
code, err := fiddleStore.GetCode(hash, fiddleType)
if err != nil {
+ sklog.Warningf("GetCode failed for %s: %s", hash, err)
http.Error(w, "Not found", http.StatusBadRequest)
return
}
@@ -202,6 +203,7 @@
// Create the jsfiddle.
jsfiddleHash, err := fiddleStore.PutCode(b.String(), "canvaskit")
if err != nil {
+ sklog.Errorf("PutCode failed: %s", err)
httputils.ReportError(w, err, "Failed to save jsfiddle.", http.StatusInternalServerError)
return
}
diff --git a/jsfiddle/go/store/store.go b/jsfiddle/go/store/store.go
index 8fcb9ba..1a39a2e 100644
--- a/jsfiddle/go/store/store.go
+++ b/jsfiddle/go/store/store.go
@@ -43,12 +43,12 @@
func New(ctx context.Context, local bool) (*store, error) {
ts, err := google.DefaultTokenSource(ctx, auth.ScopeReadWrite)
if err != nil {
- return nil, fmt.Errorf("problem setting up client OAuth: %s", err)
+ return nil, skerr.Wrapf(err, "problem setting up client OAuth")
}
client := httputils.DefaultClientConfig().WithTokenSource(ts).With2xxOnly().Client()
storageClient, err := storage.NewClient(context.Background(), option.WithHTTPClient(client))
if err != nil {
- return nil, fmt.Errorf("problem creating storage client: %s", err)
+ return nil, skerr.Wrapf(err, "problem creating storage client")
}
return &store{
bucket: storageClient.Bucket(JSFIDDLE_STORAGE_BUCKET),
@@ -79,11 +79,11 @@
o := s.bucket.Object(path)
r, err := o.NewReader(context.Background())
if err != nil {
- return "", fmt.Errorf("failed to open source file for %s: %s", hash, err)
+ return "", skerr.Wrapf(err, "failed to open source file for %s", hash)
}
b, err := io.ReadAll(r)
if err != nil {
- return "", fmt.Errorf("failed to read source file for %s: %s", hash, err)
+ return "", skerr.Wrapf(err, "failed to read source file for %s", hash)
}
return string(b), nil
}