fppd
Load or unload a plugin without restarting fppd, so installing a plugin can take effect and uninstalling one can stop having effect mid-show.
PluginManager mutates state the main loop walks every tick, and unloading calls into the plugin to stop its threads, so the work is handed to the main loop via a one-shot timer and this thread waits for the result. The wait is bounded: a wedged main loop returns 503 rather than pinning one of drogon's small pool of I/O threads forever. Documented under readable parameter names rather than the positional {1}/{2} drogon registers it as - see the skip list in docs.php.
post/api/fppd/plugin/{PluginName}/{action}
Response
The plugin was loaded or unloaded.
object required