azureblob,b2,qingstor,s3,swift: remove leading / from paths - fixes #2484

This commit is contained in:
Nick Craig-Wood 2018-08-26 23:19:28 +01:00
parent 502d8b0cdd
commit 7194c358ad
5 changed files with 7 additions and 5 deletions

View File

@ -157,7 +157,7 @@ func (f *Fs) Features() *fs.Features {
} }
// Pattern to match a azure path // Pattern to match a azure path
var matcher = regexp.MustCompile(`^([^/]*)(.*)$`) var matcher = regexp.MustCompile(`^/*([^/]*)(.*)$`)
// parseParse parses a azure 'url' // parseParse parses a azure 'url'
func parsePath(path string) (container, directory string, err error) { func parsePath(path string) (container, directory string, err error) {

View File

@ -177,7 +177,7 @@ func (f *Fs) Features() *fs.Features {
} }
// Pattern to match a b2 path // Pattern to match a b2 path
var matcher = regexp.MustCompile(`^([^/]*)(.*)$`) var matcher = regexp.MustCompile(`^/*([^/]*)(.*)$`)
// parseParse parses a b2 'url' // parseParse parses a b2 'url'
func parsePath(path string) (bucket, directory string, err error) { func parsePath(path string) (bucket, directory string, err error) {

View File

@ -132,10 +132,12 @@ type Object struct {
// ------------------------------------------------------------ // ------------------------------------------------------------
// Pattern to match a qingstor path
var matcher = regexp.MustCompile(`^/*([^/]*)(.*)$`)
// parseParse parses a qingstor 'url' // parseParse parses a qingstor 'url'
func qsParsePath(path string) (bucket, key string, err error) { func qsParsePath(path string) (bucket, key string, err error) {
// Pattern to match a qingstor path // Pattern to match a qingstor path
var matcher = regexp.MustCompile(`^([^/]*)(.*)$`)
parts := matcher.FindStringSubmatch(path) parts := matcher.FindStringSubmatch(path)
if parts == nil { if parts == nil {
err = errors.Errorf("Couldn't parse bucket out of qingstor path %q", path) err = errors.Errorf("Couldn't parse bucket out of qingstor path %q", path)

View File

@ -635,7 +635,7 @@ func (f *Fs) Features() *fs.Features {
} }
// Pattern to match a s3 path // Pattern to match a s3 path
var matcher = regexp.MustCompile(`^([^/]*)(.*)$`) var matcher = regexp.MustCompile(`^/*([^/]*)(.*)$`)
// parseParse parses a s3 'url' // parseParse parses a s3 'url'
func s3ParsePath(path string) (bucket, directory string, err error) { func s3ParsePath(path string) (bucket, directory string, err error) {

View File

@ -216,7 +216,7 @@ func (f *Fs) Features() *fs.Features {
} }
// Pattern to match a swift path // Pattern to match a swift path
var matcher = regexp.MustCompile(`^([^/]*)(.*)$`) var matcher = regexp.MustCompile(`^/*([^/]*)(.*)$`)
// parseParse parses a swift 'url' // parseParse parses a swift 'url'
func parsePath(path string) (container, directory string, err error) { func parsePath(path string) (container, directory string, err error) {