1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- 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, "/")
- }
|