will do it soon *ZhengSong Tu* My GitHub: https://github.com/tzssangglass Apache APISIX: https://github.com/apache/apisix
Tsangleslie <leslie.ts...@icloud.com.invalid> 于2022年1月2日周日 23:24写道: > > Cool, Looking forward to this proposal. > Shall we open a discussion in GitHub for more opinions ? > > Leslie Tsang > leslie.ts...@icloud.com > > > On 1 Jan 2022, at 10:28 AM, ZhengSong Tu <tzssanggl...@gmail.com> wrote: > > > > Good idea, it's important. > > > > *ZhengSong Tu* > > My GitHub: https://github.com/tzssangglass > > Apache APISIX: https://github.com/apache/apisix > > > > JunXu Chen <chenju...@apache.org> 于2021年12月31日周五 21:07写道: > >> > >> Thanks for your awesome proposal. > >> > >> I think the doc could start from how to deploy the development environment, > >> how to run the example plug-in, how to debug, and then introduce how to > >> call APISIX.core, and link up the whole process. > >> > >> > >> On Fri, 31 Dec 2021 at 18:29, tzssangglass <tzssanggl...@apache.org> wrote: > >> > >>> Hi, community, recently, there has been a growing call from the > >>> community for a detailed tutorial on plugin development[1]. > >>> > >>> Many users of APISIX do not know what the correct way when writing > >>> their own plugins. > >>> > >>> Now that APISIX has accumulated quite a stable collection of functions > >>> in its core module, I would like to show how to use these functions > >>> through documentation. > >>> > >>> Here is an example: > >>> > >>> -------------------------------------- > >>> > >>> ### core.id.get > >>> > >>> **syntax:** apisix_id = core.id.get() > >>> > >>> **context:** init, rewrite, access, body_filter, header_filter, log > >>> > >>> **code example:** > >>> > >>> ```lua > >>> local core = require "apisix.core" > >>> > >>> function _M.access(conf, ctx) > >>> local apisix_id = core.id.get() > >>> ngx.log(ngx.WARN, "apisix_id: ", apisix_id) > >>> end > >>> > >>> ``` > >>> > >>> **description:** > >>> > >>> During the init phase of APISIX, the instance ID will be generated in > >>> the following order: > >>> > >>> 1. read the instance id from `conf/apisix.uid`, use if present; > >>> 2. read the instance id from `conf/config.yml`, use if present, > >>> configure example: > >>> > >>> ``` > >>> apisix: > >>> id: "your-meaningful-id" > >>> ``` > >>> > >>> 3. generate a uuid as the instance id. > >>> > >>> If you want to specify a meaningful id to bind Apache APISIX instance > >>> to your internal system, you can refer to step 2. > >>> > >>> -------------------------------------- > >>> > >>> > >>> I hope to achieve the following three objectives with this document > >>> > >>> 1. to organize the functions of the core module > >>> 2. show more APISIX logic and usage tips in the relevant function > >>> descriptions > >>> 3. become a plugin development manual > >>> > >>> This will be an ongoing process and I'm happy to get started on it. I > >>> look forward to having more community members join in, it's a great > >>> way to learn about APISIX. > >>> > >>> link: > >>> [1]: https://github.com/apache/apisix/discussions/5421 > >>> > >>> *ZhengSong Tu* > >>> My GitHub: https://github.com/tzssangglass > >>> Apache APISIX: https://github.com/apache/apisix > >>> >