diff options
Diffstat (limited to 'vendor/google.golang.org/appengine/internal/identity.go')
-rw-r--r-- | vendor/google.golang.org/appengine/internal/identity.go | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/vendor/google.golang.org/appengine/internal/identity.go b/vendor/google.golang.org/appengine/internal/identity.go new file mode 100644 index 0000000..9b4134e --- /dev/null +++ b/vendor/google.golang.org/appengine/internal/identity.go | |||
@@ -0,0 +1,55 @@ | |||
1 | // Copyright 2011 Google Inc. All rights reserved. | ||
2 | // Use of this source code is governed by the Apache 2.0 | ||
3 | // license that can be found in the LICENSE file. | ||
4 | |||
5 | package internal | ||
6 | |||
7 | import ( | ||
8 | "os" | ||
9 | |||
10 | netcontext "golang.org/x/net/context" | ||
11 | ) | ||
12 | |||
13 | var ( | ||
14 | // This is set to true in identity_classic.go, which is behind the appengine build tag. | ||
15 | // The appengine build tag is set for the first generation runtimes (<= Go 1.9) but not | ||
16 | // the second generation runtimes (>= Go 1.11), so this indicates whether we're on a | ||
17 | // first-gen runtime. See IsStandard below for the second-gen check. | ||
18 | appengineStandard bool | ||
19 | |||
20 | // This is set to true in identity_flex.go, which is behind the appenginevm build tag. | ||
21 | appengineFlex bool | ||
22 | ) | ||
23 | |||
24 | // AppID is the implementation of the wrapper function of the same name in | ||
25 | // ../identity.go. See that file for commentary. | ||
26 | func AppID(c netcontext.Context) string { | ||
27 | return appID(FullyQualifiedAppID(c)) | ||
28 | } | ||
29 | |||
30 | // IsStandard is the implementation of the wrapper function of the same name in | ||
31 | // ../appengine.go. See that file for commentary. | ||
32 | func IsStandard() bool { | ||
33 | // appengineStandard will be true for first-gen runtimes (<= Go 1.9) but not | ||
34 | // second-gen (>= Go 1.11). | ||
35 | return appengineStandard || IsSecondGen() | ||
36 | } | ||
37 | |||
38 | // IsStandard is the implementation of the wrapper function of the same name in | ||
39 | // ../appengine.go. See that file for commentary. | ||
40 | func IsSecondGen() bool { | ||
41 | // Second-gen runtimes set $GAE_ENV so we use that to check if we're on a second-gen runtime. | ||
42 | return os.Getenv("GAE_ENV") == "standard" | ||
43 | } | ||
44 | |||
45 | // IsFlex is the implementation of the wrapper function of the same name in | ||
46 | // ../appengine.go. See that file for commentary. | ||
47 | func IsFlex() bool { | ||
48 | return appengineFlex | ||
49 | } | ||
50 | |||
51 | // IsAppEngine is the implementation of the wrapper function of the same name in | ||
52 | // ../appengine.go. See that file for commentary. | ||
53 | func IsAppEngine() bool { | ||
54 | return IsStandard() || IsFlex() | ||
55 | } | ||