From 6f2ba09df9fd126c99909e981b4670df8d7e2eb6 Mon Sep 17 00:00:00 2001 From: PIKACHUIM Date: Fri, 11 Sep 2026 15:52:28 +0800 Subject: [PATCH] fix(115): enhance Get() error handling for empty responses\n\n- Handle null/empty FileID in API response\n- Return ObjectNotFound when FileID is empty\n- Improve robustness for non-existent paths --- drivers/115_open/driver.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/115_open/driver.go b/drivers/115_open/driver.go index 65fc5eefb..13673eb95 100644 --- a/drivers/115_open/driver.go +++ b/drivers/115_open/driver.go @@ -171,11 +171,22 @@ func (d *Open115) Get(ctx context.Context, path string) (model.Obj, error) { path = stdpath.Join(d.parentPath, path) resp, err := d.client.GetFolderInfoByPath(ctx, path) if err != nil { + // SDK-level "object not found" (empty array response from API) if errors.Is(err, sdk.ErrObjectNotFound) { return d.getFromParent(ctx, path, "") } + // API-level error response (State=false), treat as not found + // since this is a path-lookup that can't resolve the target + var apiErr *sdk.Error + if errors.As(err, &apiErr) { + return nil, errs.ObjectNotFound + } return nil, err } + // Handle null/empty response (e.g., API returns null data for non-existent path) + if resp.FileID == "" { + return nil, errs.ObjectNotFound + } obj := &Obj{ Fid: resp.FileID, Fn: resp.FileName,