go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/analysis/proto/v1/rulesserver_dec.go (about) 1 // Code generated by svcdec; DO NOT EDIT. 2 3 package analysispb 4 5 import ( 6 "context" 7 8 proto "github.com/golang/protobuf/proto" 9 ) 10 11 type DecoratedRules struct { 12 // Service is the service to decorate. 13 Service RulesServer 14 // Prelude is called for each method before forwarding the call to Service. 15 // If Prelude returns an error, then the call is skipped and the error is 16 // processed via the Postlude (if one is defined), or it is returned directly. 17 Prelude func(ctx context.Context, methodName string, req proto.Message) (context.Context, error) 18 // Postlude is called for each method after Service has processed the call, or 19 // after the Prelude has returned an error. This takes the Service's 20 // response proto (which may be nil) and/or any error. The decorated 21 // service will return the response (possibly mutated) and error that Postlude 22 // returns. 23 Postlude func(ctx context.Context, methodName string, rsp proto.Message, err error) error 24 } 25 26 func (s *DecoratedRules) Get(ctx context.Context, req *GetRuleRequest) (rsp *Rule, err error) { 27 if s.Prelude != nil { 28 var newCtx context.Context 29 newCtx, err = s.Prelude(ctx, "Get", req) 30 if err == nil { 31 ctx = newCtx 32 } 33 } 34 if err == nil { 35 rsp, err = s.Service.Get(ctx, req) 36 } 37 if s.Postlude != nil { 38 err = s.Postlude(ctx, "Get", rsp, err) 39 } 40 return 41 } 42 43 func (s *DecoratedRules) List(ctx context.Context, req *ListRulesRequest) (rsp *ListRulesResponse, err error) { 44 if s.Prelude != nil { 45 var newCtx context.Context 46 newCtx, err = s.Prelude(ctx, "List", req) 47 if err == nil { 48 ctx = newCtx 49 } 50 } 51 if err == nil { 52 rsp, err = s.Service.List(ctx, req) 53 } 54 if s.Postlude != nil { 55 err = s.Postlude(ctx, "List", rsp, err) 56 } 57 return 58 } 59 60 func (s *DecoratedRules) Create(ctx context.Context, req *CreateRuleRequest) (rsp *Rule, err error) { 61 if s.Prelude != nil { 62 var newCtx context.Context 63 newCtx, err = s.Prelude(ctx, "Create", req) 64 if err == nil { 65 ctx = newCtx 66 } 67 } 68 if err == nil { 69 rsp, err = s.Service.Create(ctx, req) 70 } 71 if s.Postlude != nil { 72 err = s.Postlude(ctx, "Create", rsp, err) 73 } 74 return 75 } 76 77 func (s *DecoratedRules) Update(ctx context.Context, req *UpdateRuleRequest) (rsp *Rule, err error) { 78 if s.Prelude != nil { 79 var newCtx context.Context 80 newCtx, err = s.Prelude(ctx, "Update", req) 81 if err == nil { 82 ctx = newCtx 83 } 84 } 85 if err == nil { 86 rsp, err = s.Service.Update(ctx, req) 87 } 88 if s.Postlude != nil { 89 err = s.Postlude(ctx, "Update", rsp, err) 90 } 91 return 92 } 93 94 func (s *DecoratedRules) LookupBug(ctx context.Context, req *LookupBugRequest) (rsp *LookupBugResponse, err error) { 95 if s.Prelude != nil { 96 var newCtx context.Context 97 newCtx, err = s.Prelude(ctx, "LookupBug", req) 98 if err == nil { 99 ctx = newCtx 100 } 101 } 102 if err == nil { 103 rsp, err = s.Service.LookupBug(ctx, req) 104 } 105 if s.Postlude != nil { 106 err = s.Postlude(ctx, "LookupBug", rsp, err) 107 } 108 return 109 }