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

Reply via email to