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