|  | /* | 
|  | 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 | 
|  | } |