From 5f6b76b7c9ddc07924f32b15de8f03ceec72d74b Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Mon, 11 Feb 2019 21:57:53 +0000 Subject: [PATCH] google: remove legacy App Engine context stuff Fixes golang/oauth2#276 Change-Id: I3f2bed7201f2e6bb58913f3fae2e64287b9a66d5 Reviewed-on: https://go-review.googlesource.com/c/161959 Reviewed-by: Ross Light Reviewed-by: Jean de Klerk Reviewed-by: Chris Broadfoot Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot --- README.md | 51 ------------------------------------------ google/example_test.go | 16 ------------- 2 files changed, 67 deletions(-) diff --git a/README.md b/README.md index 68f436e..0f443e6 100644 --- a/README.md +++ b/README.md @@ -19,57 +19,6 @@ See godoc for further documentation and examples. * [godoc.org/golang.org/x/oauth2](http://godoc.org/golang.org/x/oauth2) * [godoc.org/golang.org/x/oauth2/google](http://godoc.org/golang.org/x/oauth2/google) - -## App Engine - -In change 96e89be (March 2015), we removed the `oauth2.Context2` type in favor -of the [`context.Context`](https://golang.org/x/net/context#Context) type from -the `golang.org/x/net/context` package. Later replaced by the standard `context` package -of the [`context.Context`](https://golang.org/pkg/context#Context) type. - - -This means it's no longer possible to use the "Classic App Engine" -`appengine.Context` type with the `oauth2` package. (You're using -Classic App Engine if you import the package `"appengine"`.) - -To work around this, you may use the new `"google.golang.org/appengine"` -package. This package has almost the same API as the `"appengine"` package, -but it can be fetched with `go get` and used on "Managed VMs" and well as -Classic App Engine. - -See the [new `appengine` package's readme](https://github.com/golang/appengine#updating-a-go-app-engine-app) -for information on updating your app. - -If you don't want to update your entire app to use the new App Engine packages, -you may use both sets of packages in parallel, using only the new packages -with the `oauth2` package. - -```go -import ( - "context" - "golang.org/x/oauth2" - "golang.org/x/oauth2/google" - newappengine "google.golang.org/appengine" - newurlfetch "google.golang.org/appengine/urlfetch" - - "appengine" -) - -func handler(w http.ResponseWriter, r *http.Request) { - var c appengine.Context = appengine.NewContext(r) - c.Infof("Logging a message with the old package") - - var ctx context.Context = newappengine.NewContext(r) - client := &http.Client{ - Transport: &oauth2.Transport{ - Source: google.AppEngineTokenSource(ctx, "scope"), - Base: &newurlfetch.Transport{Context: ctx}, - }, - } - client.Get("...") -} -``` - ## Policy for new packages We no longer accept new provider-specific packages in this repo. For diff --git a/google/example_test.go b/google/example_test.go index d9c5a10..4338ca3 100644 --- a/google/example_test.go +++ b/google/example_test.go @@ -14,8 +14,6 @@ import ( "golang.org/x/oauth2" "golang.org/x/oauth2/google" "golang.org/x/oauth2/jwt" - "google.golang.org/appengine" - "google.golang.org/appengine/urlfetch" ) func ExampleDefaultClient() { @@ -122,20 +120,6 @@ func Example_serviceAccount() { client.Get("...") } -func ExampleAppEngineTokenSource() { - var req *http.Request // from the ServeHTTP handler - ctx := appengine.NewContext(req) - client := &http.Client{ - Transport: &oauth2.Transport{ - Source: google.AppEngineTokenSource(ctx, "https://www.googleapis.com/auth/bigquery"), - Base: &urlfetch.Transport{ - Context: ctx, - }, - }, - } - client.Get("...") -} - func ExampleComputeTokenSource() { client := &http.Client{ Transport: &oauth2.Transport{