mirror of
https://github.com/rclone/rclone.git
synced 2025-08-17 00:51:34 +02:00
Remove github.com/pkg/errors and replace with std library version
This is possible now that we no longer support go1.12 and brings rclone into line with standard practices in the Go world. This also removes errors.New and errors.Errorf from lib/errors and prefers the stdlib errors package over lib/errors.
This commit is contained in:
@ -10,12 +10,13 @@ package main
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
"runtime"
|
||||
"syscall/js"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/rclone/rclone/fs"
|
||||
"github.com/rclone/rclone/fs/rc"
|
||||
|
||||
@ -54,10 +55,9 @@ func paramToValue(in rc.Params) (out js.Value) {
|
||||
func errorValue(method string, in js.Value, err error) js.Value {
|
||||
fs.Errorf(nil, "rc: %q: error: %v", method, err)
|
||||
// Adjust the error return for some well known errors
|
||||
errOrig := errors.Cause(err)
|
||||
status := http.StatusInternalServerError
|
||||
switch {
|
||||
case errOrig == fs.ErrorDirNotFound || errOrig == fs.ErrorObjectNotFound:
|
||||
case errors.Is(err, fs.ErrorDirNotFound) || errors.Is(err, fs.ErrorObjectNotFound):
|
||||
status = http.StatusNotFound
|
||||
case rc.IsErrParamInvalid(err) || rc.IsErrParamNotFound(err):
|
||||
status = http.StatusBadRequest
|
||||
@ -89,7 +89,7 @@ func rcCallback(this js.Value, args []js.Value) interface{} {
|
||||
inJSON := jsJSON.Call("stringify", inRaw).String()
|
||||
err := json.Unmarshal([]byte(inJSON), &in)
|
||||
if err != nil {
|
||||
return errorValue(method, inRaw, errors.Wrap(err, "couldn't unmarshal input"))
|
||||
return errorValue(method, inRaw, fmt.Errorf("couldn't unmarshal input: %w", err))
|
||||
}
|
||||
default:
|
||||
return errorValue(method, inRaw, errors.New("in parameter must be null or object"))
|
||||
@ -97,12 +97,12 @@ func rcCallback(this js.Value, args []js.Value) interface{} {
|
||||
|
||||
call := rc.Calls.Get(method)
|
||||
if call == nil {
|
||||
return errorValue(method, inRaw, errors.Errorf("method %q not found", method))
|
||||
return errorValue(method, inRaw, fmt.Errorf("method %q not found", method))
|
||||
}
|
||||
|
||||
out, err := call.Fn(ctx, in)
|
||||
if err != nil {
|
||||
return errorValue(method, inRaw, errors.Wrap(err, "method call failed"))
|
||||
return errorValue(method, inRaw, fmt.Errorf("method call failed: %w", err))
|
||||
}
|
||||
if out == nil {
|
||||
return nil
|
||||
@ -110,7 +110,7 @@ func rcCallback(this js.Value, args []js.Value) interface{} {
|
||||
var out2 map[string]interface{}
|
||||
err = rc.Reshape(&out2, out)
|
||||
if err != nil {
|
||||
return errorValue(method, inRaw, errors.Wrap(err, "result reshape failed"))
|
||||
return errorValue(method, inRaw, fmt.Errorf("result reshape failed: %w", err))
|
||||
}
|
||||
|
||||
return js.ValueOf(out2)
|
||||
|
Reference in New Issue
Block a user