Alan, That not what he wants. Eric, When we prototyped some health check code we used *TSFetchUrl().* See if that works for you.
On Mon, Jun 24, 2019 at 10:47 AM Alan Carroll <solidwallofc...@verizonmedia.com.invalid> wrote: > 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. > >> > >> >