OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The LUCI Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed under the Apache License, Version 2.0 |
3 // found in the LICENSE file. | 3 // that can be found in the LICENSE file. |
4 | 4 |
5 package featureBreaker | 5 package featureBreaker |
6 | 6 |
7 import ( | 7 import ( |
8 "golang.org/x/net/context" | 8 "golang.org/x/net/context" |
9 | 9 |
10 ds "github.com/luci/gae/service/datastore" | 10 ds "github.com/luci/gae/service/datastore" |
11 ) | 11 ) |
12 | 12 |
13 type dsState struct { | 13 type dsState struct { |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 return r.rds.Testable() | 80 return r.rds.Testable() |
81 } | 81 } |
82 | 82 |
83 // FilterRDS installs a featureBreaker datastore filter in the context. | 83 // FilterRDS installs a featureBreaker datastore filter in the context. |
84 func FilterRDS(c context.Context, defaultError error) (context.Context, FeatureB
reaker) { | 84 func FilterRDS(c context.Context, defaultError error) (context.Context, FeatureB
reaker) { |
85 state := newState(defaultError) | 85 state := newState(defaultError) |
86 return ds.AddRawFilters(c, func(ic context.Context, RawDatastore ds.RawI
nterface) ds.RawInterface { | 86 return ds.AddRawFilters(c, func(ic context.Context, RawDatastore ds.RawI
nterface) ds.RawInterface { |
87 return &dsState{state, RawDatastore} | 87 return &dsState{state, RawDatastore} |
88 }), state | 88 }), state |
89 } | 89 } |
OLD | NEW |