talksapp: use new App Engine import paths

Change-Id: I49139379c797ef492ad8be5296e88bd7f689ff4c
Reviewed-on: https://go-review.googlesource.com/27560
Reviewed-by: Chris Broadfoot <cbro@golang.org>
diff --git a/talksapp/main.go b/talksapp/main.go
index 0dbe172..0626494 100644
--- a/talksapp/main.go
+++ b/talksapp/main.go
@@ -18,13 +18,15 @@
 	"path"
 	"time"
 
-	"appengine"
-	"appengine/memcache"
-	"appengine/urlfetch"
+	"google.golang.org/appengine"
+	"google.golang.org/appengine/log"
+	"google.golang.org/appengine/memcache"
+	"google.golang.org/appengine/urlfetch"
 
 	"github.com/golang/gddo/gosrc"
 	"github.com/golang/gddo/httputil"
 
+	"golang.org/x/net/context"
 	"golang.org/x/tools/present"
 )
 
@@ -115,7 +117,7 @@
 }
 
 func httpClient(r *http.Request) *http.Client {
-	c := appengine.NewContext(r)
+	ctx, _ := context.WithTimeout(appengine.NewContext(r), 10*time.Second)
 	github := httputil.NewAuthTransportFromEnvironment(nil)
 
 	return &http.Client{
@@ -123,8 +125,8 @@
 			Token:        github.Token,
 			ClientID:     github.ClientID,
 			ClientSecret: github.ClientSecret,
-			Base:         &urlfetch.Transport{Context: c, Deadline: 10 * time.Second},
-			UserAgent:    fmt.Sprintf("%s (+http://%s/-/bot)", appengine.AppID(c), r.Host),
+			Base:         &urlfetch.Transport{Context: ctx},
+			UserAgent:    fmt.Sprintf("%s (+http://%s/-/bot)", appengine.AppID(ctx), r.Host),
 		},
 	}
 }
@@ -132,7 +134,7 @@
 type handlerFunc func(http.ResponseWriter, *http.Request) error
 
 func (f handlerFunc) ServeHTTP(w http.ResponseWriter, r *http.Request) {
-	c := appengine.NewContext(r)
+	ctx := appengine.NewContext(r)
 	err := f(w, r)
 	if err == nil {
 		return
@@ -142,14 +144,14 @@
 	} else if e, ok := err.(*gosrc.RemoteError); ok {
 		writeTextHeader(w, 500)
 		fmt.Fprintf(w, "Error accessing %s.\n%v", e.Host, e)
-		c.Infof("Remote error %s: %v", e.Host, e)
+		log.Infof(ctx, "Remote error %s: %v", e.Host, e)
 	} else if e, ok := err.(presFileNotFoundError); ok {
 		writeTextHeader(w, 200)
 		io.WriteString(w, e.Error())
 	} else if err != nil {
 		writeTextHeader(w, 500)
 		io.WriteString(w, "Internal server error.")
-		c.Errorf("Internal error %v", err)
+		log.Errorf(ctx, "Internal error %v", err)
 	}
 }
 
@@ -169,10 +171,10 @@
 }
 
 func servePresentation(w http.ResponseWriter, r *http.Request) error {
-	c := appengine.NewContext(r)
+	ctx := appengine.NewContext(r)
 	importPath := r.URL.Path[1:]
 
-	item, err := memcache.Get(c, importPath)
+	item, err := memcache.Get(ctx, importPath)
 	if err == nil {
 		writeHTMLHeader(w, 200)
 		w.Write(item.Value)
@@ -181,13 +183,13 @@
 		return err
 	}
 
-	c.Infof("Fetching presentation %s.", importPath)
+	log.Infof(ctx, "Fetching presentation %s.", importPath)
 	pres, err := getPresentation(httpClient(r), importPath)
 	if err != nil {
 		return err
 	}
 
-	ctx := &present.Context{
+	parser := &present.Context{
 		ReadFile: func(name string) ([]byte, error) {
 			if p, ok := pres.Files[name]; ok {
 				return p, nil
@@ -196,7 +198,7 @@
 		},
 	}
 
-	doc, err := ctx.Parse(bytes.NewReader(pres.Files[pres.Filename]), pres.Filename, 0)
+	doc, err := parser.Parse(bytes.NewReader(pres.Files[pres.Filename]), pres.Filename, 0)
 	if err != nil {
 		return err
 	}
@@ -206,7 +208,7 @@
 		return err
 	}
 
-	if err := memcache.Add(c, &memcache.Item{
+	if err := memcache.Add(ctx, &memcache.Item{
 		Key:        importPath,
 		Value:      buf.Bytes(),
 		Expiration: time.Hour,
@@ -235,8 +237,8 @@
 }
 
 func serveBot(w http.ResponseWriter, r *http.Request) error {
-	c := appengine.NewContext(r)
+	ctx := appengine.NewContext(r)
 	writeTextHeader(w, 200)
-	_, err := fmt.Fprintf(w, "Contact %s for help with the %s bot.", contactEmail, appengine.AppID(c))
+	_, err := fmt.Fprintf(w, "Contact %s for help with the %s bot.", contactEmail, appengine.AppID(ctx))
 	return err
 }
diff --git a/talksapp/main_test.go b/talksapp/main_test.go
index 936143f..a50c13a 100644
--- a/talksapp/main_test.go
+++ b/talksapp/main_test.go
@@ -15,11 +15,11 @@
 	"testing"
 	"time"
 
-	"github.com/golang/gddo/gosrc"
+	"google.golang.org/appengine"
+	"google.golang.org/appengine/aetest"
+	"google.golang.org/appengine/memcache"
 
-	"appengine"
-	"appengine/aetest"
-	"appengine/memcache"
+	"github.com/golang/gddo/gosrc"
 )
 
 const importPath = "github.com/user/repo/path/to/presentation.slide"