package store import ( "strings" ) // CreateEndpoints creates a list of endpoints given the right scheme func CreateEndpoints(addrs []string, scheme string) (entries []string) { for _, addr := range addrs { entries = append(entries, scheme+"://"+addr) } return entries } // Normalize the key for each store to the form: // // /path/to/key // func Normalize(key string) string { return "/" + join(SplitKey(key)) } // GetDirectory gets the full directory part of // the key to the form: // // /path/to/ // func GetDirectory(key string) string { parts := SplitKey(key) parts = parts[:len(parts)-1] return "/" + join(parts) } // SplitKey splits the key to extract path informations func SplitKey(key string) (path []string) { if strings.Contains(key, "/") { path = strings.Split(key, "/") } else { path = []string{key} } return path } // join the path parts with '/' func join(parts []string) string { return strings.Join(parts, "/") }