I'd like to write a plugin that works on TCP Connection data. In HTTPD I'd just work with the conn_rec and write connection-level filters.
TS API exposes HTTP SSN and HTTP TXN, whose semantics confuse me. Tracing callbacks for them over a simple HTTP request, I get the order of callbacks: SSN Start TXN Start SSN End TXN End I want connection data to last the entire connection, so I want to set it up on SSN Start. But there's no API to retrieve the connection data until I have the TXN, with TSHttpTxnClientAddrGet & family. And the unexpected order of end events complicates ideas of cleanup! Where should I be looking for an insight into the semantics of SSN and TXN in the API, and how I can map these to a Connection? Also in HTTPD I can set up a filter either at request level or at connection level, where the former will see HTTP request/response bodies while the latter will see all data. TS's HTTP_[REQUEST|RESPONSE]_TRANSFORM work only at request level and don't see HTTP headers, request lines, status lines, or stray data (e.g. malformed requests/responses). Or what am I missing? -- Nick Kew