func (c *Context) blobstore() *blobstore.Blobstore { bs := c.app.cfg.Blobstore if bs == nil { panic(errNoDefaultBlobstore) } b, err := blobstore.New(bs) if err != nil { panic(err) } if drv, ok := b.Driver().(contextSetter); ok { drv.SetContext(appengine.NewContext(c.R)) } return b }
func (app *App) blobstore() (*blobstore.Blobstore, error) { if app.store == nil { var err error app.locked(func() { if app.store != nil { return } if app.parent != nil { app.store, err = app.parent.blobstore() return } bs := app.cfg.Blobstore if bs == nil { err = errNoDefaultBlobstore return } app.store, err = blobstore.New(bs) }) if err != nil { return nil, err } } return app.store, nil }