## Agent Plugins
Optimizely Agent can be extended through the use of plugins. Plugins are distinct from the standard Agent packages that provide a namespaced environment for custom logic. Plugins must be compiled as part of the Agent distribution and are enabled through configuration.
### Interceptor Plugins
Interceptors can be added to Agent to customize the request and/or response by implementing the [Interceptor](🔗) interface.
This interface defines a `Handler()
` method that returns a standard net/http middleware handler based on [http.Handler](🔗).
The interceptor struct can also include a set of fields that can be configured via `config.yaml
`.
[httplog](🔗) - Adds HTTP request logging based on [go-chi/httplog](🔗).
### Example Interceptor definition