HomeGuidesAPI Reference
Submit Documentation FeedbackJoin Developer CommunityOptimizely GitHubOptimizely NuGetLog In

## 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