Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Mitigate the poor interaction between ndots expansion and non-path st…
…rings (#13218) # Description @hustcer reported that slashes were disappearing from external args since #13089: ``` $> ossutil ls oss:https://abc/b/c Error: invalid cloud url: "oss:/abc/b/c", please make sure the url starts with: "oss:https://" $> ossutil ls 'oss:https://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 `:https://`, 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 `:https://` are not modified # Tests + Formatting Added tests to prevent regression.
- Loading branch information