My mistake, TSHttpTxnEffectiveUrlStringGet is documented here - https://docs.trafficserver.apache.org/en/8.0.x/developer-guide/api/functions/TSUrlStringGet.en.html#c.TSHttpTxnEffectiveUrlStringGet
On Mon, Jun 24, 2019 at 10:08 AM Alan Carroll < solidwallofc...@verizonmedia.com> wrote: > I am literally working with this right now, I will send an update when I > have the code in a good state. Turns out that, for no apparent reason, > TSIOBufferSizedCreate asserts if the requested size is more than 32K. > Although in practice that's likely to be enough. Perhaps > TSHttpTxnEffectiveUrlStringGet() is the best option. It is, of course, not > documented. Yay. Let me fix that. > > On Fri, Jun 21, 2019 at 12:09 PM Alan Carroll < > solidwallofc...@verizonmedia.com> wrote: > >> Yes, it's a problem that TSIOBufferReaderRead doesn't exist yet. What you >>> should do is >>> >> >> TSIOBufferBlock block = TSIOBufferStart(iobuff); >> char const* text = TSIOBufferBlockReadStart(block); >> >> text now points at the URL string. For the length you can use >> TSUrlLengthGet() or TSIOBufferReadAvail(). Note - this assumes the URL fits >> in a single block, the first block. You may want to use >> TSIOBufferSizedCreate with an index of TS_IOBUFFER_SIZE_INDEX_64K or more >> since URLs are limited to 64K in TS. >> >>