This guide has the following basic components:
- Introduction and overview.
- Tutorials about writing specific kinds of plugins: HTTP header-based plugins, content transformation plugins, and protocol plugins.
- Guides about specific interfaces.
- Reference material.
If you’re new to writing Traffic Server plugins, Getting Started should be your starting point. Header-Based Plugin Examples provides details about plugins that work on HTTP headers, while HTTP Transformations explains how to write a plugin that transforms or scans the body of an HTTP response. New Protocol Plugins provides essential information if you want to support your own protocol on Traffic Server.
For a reference to the C API functions and types that your plugin will use, refer to the API Reference.
Below is a section-by-section breakdown of this guide:
- Getting Started
- How to compile and load plugins. Walks through a simple “hello world” example; explains how to initialize and register plugins. Basic structures that all plugins use: events, continuations, and how to hook on to Traffic Server processes. Detailed explication of a sample blacklisting plugin.
- Query Remap Plugin
- This chapter demonstrates on a practical example how you can exploit the Traffic Server remap API for your plugins.
- Header-Based Plugin Examples
- Detailed explanation about writing plugins that work on HTTP headers; discusses sample blacklisting and basic authorization plugins.
- HTTP Transformations
- Detailed explanation of the null_transform example; also discusses
VIOs, and IO buffers.
- New Protocol Plugins
- Detailed explanation of a sample protocol plugin that supports a
synthetic protocol. Discusses
VConnectionsand mutexes, as well as the new
NetConnection, DNS lookup, logging, and cache APIs.
The remaining sections comprise the API function reference and are organized by function type:
- Plugin Interfaces
- Details error-writing and tracing functions, thread functions, and Traffic Server API
versions of the
fopenfamilies. The Traffic Server API versions overcome various C library limitations.
- Hooks and Transactions
- Functions in this chapter hook your plugin to Traffic Server HTTP processes.
- HTTP Headers
- Contains instructions for implementing performance enhancements for all plugins that manipulate HTTP headers. These functions examine and modify HTTP headers, MIME headers, URLs, and the marshal buffers that contain header information. If you are working with headers, then be sure to read this chapter.
- Continuations provide the basic callback mechanism and data abstractions used in Traffic Server.
- Describes how to use
- Describes how to use the Traffic Server IO interfaces:
TSNetVConnection, the Cache API.
- Plugin Management
- These functions enable you to set up a configuration interface for plugins, access installed plugin files, and set up plugin licensing.
- Adding Statistics
- These functions add statistics to your plugin.
- API Functions
- Traffic Server API Function Documentation.