author | Mikael Berthe <mikael@lilotux.net> |
Sun, 16 Feb 2020 18:54:01 +0100 | |
changeset 251 | 1c52a0eeb952 |
parent 242 | 2a9ec03fe5a1 |
permissions | -rw-r--r-- |
242
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
1 |
// Copyright 2011 Google Inc. All rights reserved. |
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
2 |
// Use of this source code is governed by the Apache 2.0 |
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
3 |
// license that can be found in the LICENSE file. |
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
4 |
|
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
5 |
package internal |
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
6 |
|
251 | 7 |
import ( |
8 |
"os" |
|
9 |
||
10 |
netcontext "golang.org/x/net/context" |
|
11 |
) |
|
242
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
12 |
|
251 | 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 |
|
242
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
19 |
|
251 | 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. |
|
242
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
26 |
func AppID(c netcontext.Context) string { |
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
27 |
return appID(FullyQualifiedAppID(c)) |
2a9ec03fe5a1
Use vendoring for backward compatibility
Mikael Berthe <mikael@lilotux.net>
parents:
diff
changeset
|
28 |
} |
251 | 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 |
} |