THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
/somewhere/my-plugin.so /somewhere-else/my-plugin.config @type=remap @tag=my-remap optional-argument-1 optional-argument-2 |
Optional arguments above should be treated as global settings for the plugin. They will be passed down to the plugin in TSPluginInit.
Use this tag as an abstraction to refer to remap plugins in remap.config
...
Code Block |
---|
struct TSRemapContext { const char *plugin_tag; URL rule_from_url; URL rule_to_url; int rule_param_count; const char *rule_params[]; }; |
Plugin then receives this information and returns a continuation for TS to call.
Code Block |
---|
TSCont TSRemapPluginSetup(TSRemapContext *remap_context); |
The plugin is free to return the same continuation or different continuations for each invocation. The plugin can also store context information for this continuation using TSContDataSet.
Invoke the plugin via a continuation event just like regular plugins
...