This is an automated email from the ASF dual-hosted git repository. shuaijinchao pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/apisix-python-plugin-runner.git
commit c22193909cb09c7c847869d0c3129992f811232e Author: Janko <[email protected]> AuthorDate: Tue Aug 3 10:39:09 2021 +0800 feat: add plugin base module for runner. --- src/runner/plugin/base.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/src/runner/plugin/base.py b/src/runner/plugin/base.py new file mode 100644 index 0000000..7a8d334 --- /dev/null +++ b/src/runner/plugin/base.py @@ -0,0 +1,39 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You 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. +# +import json + + +class Base(object): + def __init__(self, name: str): + self.pluginName = name + self.pluginConfig = {} + + def name(self) -> str: + return self.pluginName + + def config(self) -> dict: + return self.pluginConfig + + def setConfig(self, config: dict): + if config and isinstance(config, str): + try: + conf = json.loads(config) + except ValueError: + self.pluginConfig = {} + else: + self.pluginConfig = conf + return self
