koa-plugins/README.md
2020-03-01 18:04:10 +01:00

1.3 KiB

Easy plugins

Make web development easier with plugins.

API

Easy plugins is based on Koa, so the ctx variable that's passed is koa's context.

Plugin

The plugin must export object or function. Object should contain these:

enabled Whether the plugin is enabled and should be used
exec Function to call when plugin is enabled and request matches rules
rules Object containing rules to be passed before calling exec. Can be function, in which case the context is passed and must return boolean (or Promise). If empty, automatically evaluates to true.

If the exported is function, it works as multi-plugin:

The function gets parameter hooks which is a class for managing plugins. Then it should call function hooks.registerPlugin with the following parameters:

exec Function to call when request rules matches
rules optional, same as in object plugin

Rules

Following rules can be used

| path | String or String[] | If path matches exactly. | | pathReg | Regex | Regex to be checked against (must be instance of regex) | | method | String or String[] | Method used | | accepts | String or String[] | Using koa's accepts method. Used as arguments (array expanded) | | secure | bool | If using HTTPS | | subdomains | String[] | If subdomains matches. (compares koa's subdomains) |