| 50 | ) |
| 51 | |
| 52 | type Storage struct { |
| 53 | bucket string // the gs bucket containing blobs |
| 54 | // optional "directory" where the blobs are stored, instead of at the root of the bucket. |
| 55 | // gcs is actually flat, which in effect just means that all the objects should have this |
| 56 | // dirPrefix as a prefix of their key. |
| 57 | // If non empty, it should be a slash separated path with a trailing slash and no starting |
| 58 | // slash. |
| 59 | dirPrefix string |
| 60 | client *storage.Client |
| 61 | cache *memory.Storage // or nil for no cache |
| 62 | |
| 63 | // an OAuth-authenticated HTTP client, for methods that can't yet use a |
| 64 | // *storage.Client |
| 65 | baseHTTPClient *http.Client |
| 66 | |
| 67 | // For blobserver.Generationer: |
| 68 | genTime time.Time |
| 69 | genRandom string |
| 70 | } |
| 71 | |
| 72 | var ( |
| 73 | _ blob.SubFetcher = (*Storage)(nil) |
nothing calls this directly
no outgoing calls
no test coverage detected