kong-pdk 0.36

Creator: bradpython12

Last updated:

Add to Cart

Description:

kongpdk 0.36

kong-python-pluginserver

Plugin server and PDK (Plugin Development Kit) for Python language support in Kong.
Requires Kong >= 2.3.0.
Documentation
See in Kong Docs
Install the plugin server
pip3 install kong-pdk

Usage
usage: kong-python-pluginserver [-h] [-p prefix] [-v] [--version] [--socket-name SOCKET_NAME] [--listen-queue-size LISTEN_QUEUE_SIZE]
[--no-lua-style] [-m | -g] -d directory [--dump-plugin-info name] [--dump-all-plugins]

Kong Python Plugin Server.

optional arguments:
-h, --help show this help message and exit
-p prefix, --kong-prefix prefix, -kong-prefix prefix
unix domain socket path to listen (default: /usr/local/kong/)
-v, --verbose turn on verbose logging (default: 1)
--version, -version show program's version number and exit
--socket-name SOCKET_NAME
socket name to listen on (default: python_pluginserver.sock)
--listen-queue-size LISTEN_QUEUE_SIZE
socket listen queue size (default: 4096)
--no-lua-style turn off Lua-style "data, err" return values for PDK functions and throw exception instead (default: False)
-m, --multiprocessing
enable multiprocessing (default: False)
-g, --gevent enable gevent (default: False)
-d directory, --plugins-directory directory, -plugins-directory directory
plugins directory
--dump-plugin-info name, -dump-plugin-info name
dump specific plugin info into stdout
--dump-all-plugins, -dump-all-plugins
dump all plugins info into stdout

PDK API reference
The PDK (plugin developemet kit) API document can be viewed here.
Reference is generated by Sphinx under doc folder and published to the gh-pages branch.
To generate updated docs, use:
git worktree add docs/build/html gh-pages
cd docs
make deps && make html

Deprecation Notice
In next major release of Kong Python PDK, return values will default to use Python style error handling instead of
Lua style. The new style API can be turned on now with --no-lua-style.
# old lua-style PDK API
host, err = kong.request.get_header("host")
if err:
pass # error handling

# new python-style PDK API
try:
host = kong.request.get_header("host")
# no err in return, instead they are thrown if any
except Exception as ex:
pass # error handling

TODO

Tests
Hot reload


Unreleased

0.3.6 - 2023-06-27
bug fixes

add missing file enterprise_edition e8d7c86


0.3.5 - 2023-06-20
bug fixes

delete message queue when they are not needed any more (#122) ffeb2f2


0.3.4 - 2023-06-20
bug fixes

serialize error and disable strict_map_key to allow (#117) 25db61c


0.3.2 - 2022-11-08
bug fixes

add version field in PluginInfo rpc (#79) 132f31d


0.3.1 - 2022-06-13
bug fixes

plugin closure syntax correction (#64) 920cc26
removing upper() to allow matching of attributes (#69) 1997a6c
#50: return type of get_raw_bodys should be binary string 59ab367
catch error from PDK methods (#53) 7f82677
#50: return type should support binary string fdb2c9b


0.3.0 - 2022-02-17
bug fixes

add option to use python style error handling to be consistent with style headers 39a75bd
include correct instances list in get_status 56d7ad7
exit immediately from kong.response.{error,exit} ba3d5fa


0.2.7 - 2021-08-04
bug fixes

correctly pass schema in embedded server 099a498
no longer normalize hyphens in socket name in embedded server to keep consistent with what Kong expects 20c01da


0.2.6 - 2021-07-19
bug fixes

listener to use msgpack.Unpacker iterrator bed56c4


0.2.5 - 2021-06-24
bug fixes

listener to use msgpack.Unpacker iterrator bed56c4
use .py file for type hint (#13) 1bf3820


0.2.4 - 2021-06-17
bug fixes

check correct flags existence in dedicated server (#10) b18dd45
set larger listen queue size (#9) a3eb340


0.2.3 - 2021-05-13
bug fixes

display defaults on cli and print PluginServerException to warning 13991ec
skip running cleanup timer e10c098
standarlize error on instance not found 0dfc94f

features

add response phase (#4) 3aca283


0.2.2 - 2021-03-29
bug fixes

correct license in setup.py (#3) b257c98
threading mode pipe and styles 6f73ac7
enable plugin server without gevent mode a29c4d7

features

add typed interfaces f98e44d


0.2.1 - 2021-02-24
bug fixes

disable gevent in multiprocessing and make it optional 5b6fb68
chmod+x on examples 1f5905d

features

set friendly process title aa59083
multiprocessing mode 1a97d26


0.2.0 - 2021-02-22
bug fixes

sync with Kong 2.3 update d42de7e

code refactoring

rename kong_pluginserver to kong_pdk e802627

features

exit server if parent is dead 0ee2183
embed server in plugin af55deb


0.1.2 - 2020-02-21
bug fixes

python2 compatibility 0e4cf1c


0.1.1 - 2020-02-20

0.1.0 - 2020-01-03

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.