Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(280)

Unified Diff: go/src/infra/gae/libs/gae/filters/count/gi.go

Issue 1239103003: Add "filters/count" filter. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@add_filters
Patch Set: more better now Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: go/src/infra/gae/libs/gae/filters/count/gi.go
diff --git a/go/src/infra/gae/libs/gae/filters/count/gi.go b/go/src/infra/gae/libs/gae/filters/count/gi.go
new file mode 100644
index 0000000000000000000000000000000000000000..21c48d2d56700e40afb98018b33c4639b15f769c
--- /dev/null
+++ b/go/src/infra/gae/libs/gae/filters/count/gi.go
@@ -0,0 +1,136 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package count
+
+import (
+ "golang.org/x/net/context"
+ "time"
+
+ "infra/gae/libs/gae"
+)
+
+// GICounter is the counter object for the GlobalInfo service.
+type GICounter struct {
+ AppID Entry
+ Datacenter Entry
+ DefaultVersionHostname Entry
+ InstanceID Entry
+ IsDevAppServer Entry
+ IsOverQuota Entry
+ IsTimeoutError Entry
+ ModuleHostname Entry
+ ModuleName Entry
+ RequestID Entry
+ ServerSoftware Entry
+ ServiceAccount Entry
+ VersionID Entry
+ Namespace Entry
+ AccessToken Entry
+ PublicCertificates Entry
+ SignBytes Entry
+}
+
+type giCounter struct {
+ c *GICounter
+
+ gi gae.GlobalInfo
+}
+
+var _ gae.GlobalInfo = (*giCounter)(nil)
+
+func (g *giCounter) AppID() string {
+ g.c.AppID.up()
+ return g.gi.AppID()
+}
+
+func (g *giCounter) Datacenter() string {
+ g.c.Datacenter.up()
+ return g.gi.Datacenter()
+}
+
+func (g *giCounter) DefaultVersionHostname() string {
+ g.c.DefaultVersionHostname.up()
+ return g.gi.DefaultVersionHostname()
+}
+
+func (g *giCounter) InstanceID() string {
+ g.c.InstanceID.up()
+ return g.gi.InstanceID()
+}
+
+func (g *giCounter) IsDevAppServer() bool {
+ g.c.IsDevAppServer.up()
+ return g.gi.IsDevAppServer()
+}
+
+func (g *giCounter) IsOverQuota(err error) bool {
+ g.c.IsOverQuota.up()
+ return g.gi.IsOverQuota(err)
+}
+
+func (g *giCounter) IsTimeoutError(err error) bool {
+ g.c.IsTimeoutError.up()
+ return g.gi.IsTimeoutError(err)
+}
+
+func (g *giCounter) ModuleHostname(module, version, instance string) (string, error) {
+ ret, err := g.gi.ModuleHostname(module, version, instance)
+ return ret, g.c.ModuleHostname.up(err)
+}
+
+func (g *giCounter) ModuleName() string {
+ g.c.ModuleName.up()
+ return g.gi.ModuleName()
+}
+
+func (g *giCounter) RequestID() string {
+ g.c.RequestID.up()
+ return g.gi.RequestID()
+}
+
+func (g *giCounter) ServerSoftware() string {
+ g.c.ServerSoftware.up()
+ return g.gi.ServerSoftware()
+}
+
+func (g *giCounter) ServiceAccount() (string, error) {
+ ret, err := g.gi.ServiceAccount()
+ return ret, g.c.ServiceAccount.up(err)
+}
+
+func (g *giCounter) VersionID() string {
+ g.c.VersionID.up()
+ return g.gi.VersionID()
+}
+
+func (g *giCounter) Namespace(namespace string) (context.Context, error) {
+ ret, err := g.gi.Namespace(namespace)
+ return ret, g.c.Namespace.up(err)
+}
+
+func (g *giCounter) AccessToken(scopes ...string) (token string, expiry time.Time, err error) {
+ token, expiry, err = g.gi.AccessToken(scopes...)
+ g.c.AccessToken.up(err)
+ return
+}
+
+func (g *giCounter) PublicCertificates() ([]gae.GICertificate, error) {
+ ret, err := g.gi.PublicCertificates()
+ return ret, g.c.PublicCertificates.up(err)
+}
+
+func (g *giCounter) SignBytes(bytes []byte) (keyName string, signature []byte, err error) {
+ keyName, signature, err = g.gi.SignBytes(bytes)
+ g.c.SignBytes.up(err)
+ return
+}
+
+// FilterGI installs a counter GlobalInfo filter in the context.
+func FilterGI(c context.Context) (context.Context, *GICounter) {
+ state := &GICounter{}
+ return gae.AddGIFilters(c, func(ic context.Context, gi gae.GlobalInfo) gae.GlobalInfo {
+ return &giCounter{state, gi}
+ }), state
+}

Powered by Google App Engine
This is Rietveld 408576698