Thanks Aaron- That looks like exactly what I needed, AsyncHttpFetch actually fits better in the cpp API.
--Eric On Thu, Jun 27, 2019 at 4:06 PM Aaron Canary <acan...@verizonmedia.com.invalid> wrote: > 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. > > >> > > >> > > >