diff options
author | Devyn Cairns <devyn.cairns@gmail.com> | 2024-06-24 16:39:01 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-24 16:39:01 -0700 |
commit | 43e349a274d955185f7a199ddf1db0e4acd6c498 (patch) | |
tree | 22981fbfefc45ea5660db7f006e4c724162037a7 /crates/nu_plugin_query/Cargo.toml | |
parent | 4509944988fe9607bc5256702afb9a7982c76610 (diff) |
Mitigate the poor interaction between ndots expansion and non-path strings (#13218)
# Description
@hustcer reported that slashes were disappearing from external args
since #13089:
```
$> ossutil ls oss://abc/b/c
Error: invalid cloud url: "oss:/abc/b/c", please make sure the url starts with: "oss://"
$> ossutil ls 'oss://abc/b/c'
Error: oss: service returned error: StatusCode=403, ErrorCode=UserDisable, ErrorMessage="UserDisable", RequestId=66791EDEFE87B73537120838, Ec=0003-00000801, Bucket=abc, Object=
```
I narrowed this down to the ndots handling, since that does path parsing
and path reconstruction in every case. I decided to change that so that
it only activates if the string contains at least `...`, since that
would be the minimum trigger for ndots, and also to not activate it if
the string contains `://`, since it's probably undesirable for a URL.
Kind of a hack, but I'm not really sure how else we decide whether
someone wants ndots or not.
# User-Facing Changes
- bare strings not containing ndots are not modified
- bare strings containing `://` are not modified
# Tests + Formatting
Added tests to prevent regression.
Diffstat (limited to 'crates/nu_plugin_query/Cargo.toml')
0 files changed, 0 insertions, 0 deletions