OpenTSDB/opentsdb — pull request #394 by jroyalty (2014-09-16 02:41:51+00:00)
Title: Adds HttpRpcPlugins that run on the main Netty loop.

Introduces a new plugin type: `HttpRpcPlugin`. These are first class entities like the pre-existing `RpcPlugin`s though they have a separate lifecycle. Further, unlike RPC plugins, the HTTP variety run on the main Netty loop along with built-in `HttpRpc` commands. HTTP RPC plugins automatically placed beneath the **/plugin** base web path to keep them totally separate from build-in, core `HttpRpc` commands. Even though these two HTTP RPC commands types are separate, both are dispatched by `RpcHandler` so a certain amount of common configuration can be safely shared; the CORS settings in particular.

HTTP RPC plugins can be loaded using the new `tsd.http.rpc.plugins` configuration parameter. This is a comma-separated list of class names that extend the base `HttpRpcPlugin` class.