gifs/api

Paddy 2014-12-17 Parent:eb450538f079

8:03e846421572 Go to Latest

gifs/api/context.go

Update import path. Update our import path so it will work without aliasing.

History
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 }