| /* |
| Copyright 2017 Google Inc. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| */ |
| |
| package adapter |
| |
| import ( |
| "strconv" |
| |
| "github.com/apid/istioApigeeAdapter/adapter/config" |
| "istio.io/mixer/pkg/adapter" |
| ) |
| |
| const ( |
| rejectName = "rejecter" |
| rejectDesc = "Reject unless the expression is 'true'" |
| ) |
| |
| var rejectConf = &config.RejectParams{} |
| |
| type rejectBuilder struct { |
| adapter.DefaultBuilder |
| } |
| |
| type rejecter struct { |
| message string |
| } |
| |
| func newRejectBuilder() adapter.ListsBuilder { |
| return rejectBuilder{ |
| adapter.NewDefaultBuilder(rejectName, rejectDesc, rejectConf), |
| } |
| } |
| |
| func (b rejectBuilder) NewListsAspect(env adapter.Env, c adapter.Config) (adapter.ListsAspect, error) { |
| cfg := c.(*config.RejectParams) |
| r := &rejecter{ |
| message: cfg.Message, |
| } |
| return r, nil |
| } |
| |
| func (l *rejecter) Close() error { |
| return nil |
| } |
| |
| func (l *rejecter) CheckList(symbol string) (bool, error) { |
| isTrue, err := strconv.ParseBool(symbol) |
| if err != nil { |
| // Error here means something like an empty string |
| return false, nil |
| } |
| return isTrue, nil |
| } |