Devyn Cairns 43e349a274
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.
2024-06-24 16:39:01 -07:00
..
2024-05-04 15:56:16 +03:00
2022-11-22 16:58:11 -08:00
2024-05-23 02:05:27 +00:00
2024-05-23 02:05:27 +00:00
2024-05-10 11:06:33 -05:00
2024-05-23 02:05:27 +00:00
2023-10-24 12:48:05 -05:00
2024-01-25 14:16:49 +08:00
2024-04-13 14:58:54 +00:00
2023-10-19 09:30:34 -05:00
2024-05-03 08:36:10 +08:00
2024-05-02 09:36:37 -04:00
2023-11-17 19:30:53 -06:00
2024-05-02 09:36:37 -04:00
2024-04-16 19:08:58 +08:00
2024-05-06 23:20:27 +00:00
2023-04-28 13:25:44 +02:00
2023-04-28 13:25:44 +02:00
2024-02-17 10:51:20 +02:00
2023-04-28 13:25:44 +02:00
2024-05-23 02:05:27 +00:00
2023-04-28 13:25:44 +02:00
2024-06-11 13:44:13 -05:00
2024-05-03 08:36:10 +08:00
2024-05-03 08:36:10 +08:00
2024-05-23 02:05:27 +00:00
2024-03-11 19:46:04 +01:00