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

Side by Side Diff: filter/count/mail.go

Issue 2302743002: Interface update, per-method Contexts. (Closed)
Patch Set: Lightning talk licenses. Created 4 years, 3 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 unified diff | Download patch
« no previous file with comments | « filter/count/gi.go ('k') | filter/count/mod.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The LUCI Authors. All rights reserved. 1 // Copyright 2015 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package count 5 package count
6 6
7 import ( 7 import (
8 "github.com/luci/gae/service/mail" 8 "github.com/luci/gae/service/mail"
9 "golang.org/x/net/context" 9 "golang.org/x/net/context"
10 ) 10 )
11 11
12 // MailCounter is the counter object for the Mail service. 12 // MailCounter is the counter object for the Mail service.
13 type MailCounter struct { 13 type MailCounter struct {
14 Send Entry 14 Send Entry
15 SendToAdmins Entry 15 SendToAdmins Entry
16 } 16 }
17 17
18 type mailCounter struct { 18 type mailCounter struct {
19 c *MailCounter 19 c *MailCounter
20 20
21 » m mail.Interface 21 » m mail.RawInterface
22 } 22 }
23 23
24 var _ mail.Interface = (*mailCounter)(nil) 24 var _ mail.RawInterface = (*mailCounter)(nil)
25 25
26 func (m *mailCounter) Send(msg *mail.Message) error { 26 func (m *mailCounter) Send(msg *mail.Message) error {
27 return m.c.Send.up(m.m.Send(msg)) 27 return m.c.Send.up(m.m.Send(msg))
28 } 28 }
29 29
30 func (m *mailCounter) SendToAdmins(msg *mail.Message) error { 30 func (m *mailCounter) SendToAdmins(msg *mail.Message) error {
31 return m.c.SendToAdmins.up(m.m.SendToAdmins(msg)) 31 return m.c.SendToAdmins.up(m.m.SendToAdmins(msg))
32 } 32 }
33 33
34 func (m *mailCounter) Testable() mail.Testable { 34 func (m *mailCounter) GetTestable() mail.Testable {
35 » return m.m.Testable() 35 » return m.m.GetTestable()
36 } 36 }
37 37
38 // FilterMail installs a counter Mail filter in the context. 38 // FilterMail installs a counter Mail filter in the context.
39 func FilterMail(c context.Context) (context.Context, *MailCounter) { 39 func FilterMail(c context.Context) (context.Context, *MailCounter) {
40 state := &MailCounter{} 40 state := &MailCounter{}
41 » return mail.AddFilters(c, func(ic context.Context, u mail.Interface) mai l.Interface { 41 » return mail.AddFilters(c, func(ic context.Context, u mail.RawInterface) mail.RawInterface {
42 return &mailCounter{state, u} 42 return &mailCounter{state, u}
43 }), state 43 }), state
44 } 44 }
OLDNEW
« no previous file with comments | « filter/count/gi.go ('k') | filter/count/mod.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698