()
| 168 | } |
| 169 | |
| 170 | func (node *HTTPNode) CacheKey() string { |
| 171 | checksum := strings.TrimRight(checksum([]byte(node.Location())), "=") |
| 172 | dir, filename := filepath.Split(node.url.Path) |
| 173 | lastDir := filepath.Base(dir) |
| 174 | prefix := filename |
| 175 | // Means it's not "", nor "." nor "/", so it's a valid directory |
| 176 | if len(lastDir) > 1 { |
| 177 | prefix = fmt.Sprintf("%s.%s", lastDir, filename) |
| 178 | } |
| 179 | return fmt.Sprintf("http.%s.%s.%s", node.url.Host, prefix, checksum) |
| 180 | } |