gifs/api
2014-12-17
Parent:eb450538f079
gifs/api/context.go
Update import path. Update our import path so it will work without aliasing.
| paddy@0 | 1 package api |
| paddy@0 | 2 |
| paddy@0 | 3 import ( |
| paddy@6 | 4 "errors" |
| paddy@6 | 5 "net/http" |
| paddy@6 | 6 |
| paddy@6 | 7 "code.google.com/p/google-api-go-client/storage/v1" |
| paddy@6 | 8 "github.com/golang/oauth2/google" |
| paddy@6 | 9 ) |
| paddy@6 | 10 |
| paddy@6 | 11 var ( |
| paddy@6 | 12 ErrNoBucketSet = errors.New("no bucket set") |
| paddy@6 | 13 ErrNoTmpBucketSet = errors.New("no temporary bucket set") |
| paddy@0 | 14 ) |
| paddy@0 | 15 |
| paddy@0 | 16 type Context struct { |
| paddy@0 | 17 Storage Storage |
| paddy@0 | 18 Datastore Datastore |
| paddy@6 | 19 UsageTracker UsageTracker |
| paddy@6 | 20 TmpBucket string |
| paddy@0 | 21 Bucket string |
| paddy@0 | 22 RootDomain string |
| paddy@0 | 23 } |
| paddy@0 | 24 |
| paddy@6 | 25 func (c Context) Validate() error { |
| paddy@6 | 26 if c.Bucket == "" { |
| paddy@6 | 27 return ErrNoBucketSet |
| paddy@6 | 28 } |
| paddy@6 | 29 if c.TmpBucket == "" { |
| paddy@6 | 30 return ErrNoTmpBucketSet |
| paddy@6 | 31 } |
| paddy@6 | 32 return nil |
| paddy@0 | 33 } |
| paddy@0 | 34 |
| paddy@0 | 35 func NewMemDatastore() Datastore { |
| paddy@0 | 36 return &Memstore{ |
| paddy@0 | 37 collections: map[string]Collection{}, |
| paddy@0 | 38 domains: map[string]Domain{}, |
| paddy@0 | 39 items: map[string]Item{}, |
| paddy@0 | 40 } |
| paddy@0 | 41 } |
| paddy@0 | 42 |
| paddy@6 | 43 func NewGCSServiceStorage() (*GoogleCloudStorage, error) { |
| paddy@6 | 44 config := google.NewComputeEngineConfig("") |
| paddy@6 | 45 client := http.Client{Transport: config.NewTransport()} |
| paddy@6 | 46 gcsService, err := storage.New(&client) |
| paddy@0 | 47 if err != nil { |
| paddy@0 | 48 return nil, err |
| paddy@0 | 49 } |
| paddy@0 | 50 return &GoogleCloudStorage{gcsService}, nil |
| paddy@0 | 51 } |