Re: Proposed new ts api calls

2018-02-21 Thread Alan Carroll
Looks mostly good to me, except a minor coding issue. The API documentation is on that PR as well, anyone who is concerned should look at it. I think it avoids the issues that have been brought up on this exchange. On Tue, Feb 20, 2018 at 5:52 PM, Walt Karas wrote: > I've issued a pull request f

Re: Proposed new ts api calls

2018-02-20 Thread Walt Karas
I've issued a pull request for the implementation of this: https://github.com/apache/trafficserver/pull/3145 On Thu, Feb 1, 2018 at 12:49 PM, Leif Hedstrom wrote: > > >> On Feb 1, 2018, at 9:35 AM, Alan Carroll >> wrote: >> >> That's a good suggestion, although shouldn't it be >> >> TSReturnCo

Re: Proposed new ts api calls

2018-02-01 Thread Leif Hedstrom
> On Feb 1, 2018, at 9:35 AM, Alan Carroll > wrote: > > That's a good suggestion, although shouldn't it be > > TSReturnCode TSRemapFromUrlGet(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc* obj); > > That is the TSMLoc should be an out parameter, not an in. In that case I'd > drop the ...StringGet()

Re: Proposed new ts api calls

2018-02-01 Thread Walt Karas
When calling this, where would the value for the bufp parameter come from? How would it be used in the implementation? On Thu, Feb 1, 2018 at 10:35 AM, Alan Carroll wrote: > That's a good suggestion, although shouldn't it be > > TSReturnCode TSRemapFromUrlGet(TSHttpTxn txnp, TSMBuffer bufp, TSML

Re: Proposed new ts api calls

2018-02-01 Thread Alan Carroll
That's a good suggestion, although shouldn't it be TSReturnCode TSRemapFromUrlGet(TSHttpTxn txnp, TSMBuffer bufp, TSMLoc* obj); That is the TSMLoc should be an out parameter, not an in. In that case I'd drop the ...StringGet() and use the generic TSUrlStringGet() if a string is needed.

Re: Proposed new ts api calls

2018-02-01 Thread James Peach
> On Jan 30, 2018, at 9:15 AM, Walt Karas wrote: > > Revised: > > const char *TSRemapFromUrlStringGet(const TSHttpTxn txnp, int &length); > > const char *TSRemapToUrlStringGet(const TSHttpTxn txnp, int &length); > > These would return, from the transaction state object, > url_map.getFromURL(

Re: Proposed new ts api calls

2018-01-31 Thread Alan Carroll
This is intended primarily for use by XDebug and operationally it would be infeasible to add that plugin to every remap rule in order to access those values.

Re: Proposed new ts api calls

2018-01-31 Thread Leif Hedstrom
> On Jan 31, 2018, at 4:33 PM, Leif Hedstrom wrote: > > > >> On Jan 29, 2018, at 11:02 AM, Walt Karas wrote: >> >> const char *TSIRemapFromUrlStringGet(const TSHttpTxn txnp); >> >> const char *TSIRemapToUrlStringGet(const TSHttpTxn txnp); >> >> These would return, from the transaction sta

Re: Proposed new ts api calls

2018-01-31 Thread Leif Hedstrom
> On Jan 29, 2018, at 11:02 AM, Walt Karas wrote: > > const char *TSIRemapFromUrlStringGet(const TSHttpTxn txnp); > > const char *TSIRemapToUrlStringGet(const TSHttpTxn txnp); > > These would return, from the transaction state object, > url_map.getFromURL() and url_map.getToURL() respectively

Re: Proposed new ts api calls

2018-01-31 Thread Walt Karas
I've done a preliminary implementation, based on the version that returns the URLs as strings: https://github.com/ywkaras/trafficserver/pull/4 On Tue, Jan 30, 2018 at 6:04 PM, Walt Karas wrote: > Another alternative is to get handles to the "binary" URLs: > > TSReturnCode TSRemapFromUrlGet(TSHtt

Re: Proposed new ts api calls

2018-01-30 Thread Walt Karas
Another alternative is to get handles to the "binary" URLs: TSReturnCode TSRemapFromUrlGet(TSHttpTxn txnp, TSMLoc *url_loc); TSReturnCode TSRemapToUrlGet(TSHttpTxn txnp, TSMLoc *url_loc); These would return, from the transaction object state, handles for url_map.getFromURL() and url_map.getToURL

Re: Proposed new ts api calls

2018-01-30 Thread Alan Carroll
I meant this On Tue, Jan 30, 2018 at 11:15 AM, Walt Karas wrote: > Revised: > (Nul-termination > should not be expected/presumed.) . vs. > On Mon, Jan 29, 2018 at 4:55 PM, Walt Karas wrote: > > The plugin would own them and would have to call TSFree() when done > > with them. They would be

Re: Proposed new ts api calls

2018-01-30 Thread Walt Karas
Sorry you lost me. The revision superceeds the prior mail I sent, if that's what you mean by "API write up". I tried to change it to follow the pattern of TSUrlStringGet(), which I think does not nul-terminate. On Tue, Jan 30, 2018 at 12:47 PM, Alan Carroll wrote: > May I presume your API write

Re: Proposed new ts api calls

2018-01-30 Thread Alan Carroll
May I presume your API write up, not your previous reply, is correct with regard to null termination of the string?

Re: Proposed new ts api calls

2018-01-30 Thread Walt Karas
Revised: const char *TSRemapFromUrlStringGet(const TSHttpTxn txnp, int &length); const char *TSRemapToUrlStringGet(const TSHttpTxn txnp, int &length); These would return, from the transaction state object, url_map.getFromURL() and url_map.getToURL() respectively, in strong format. A null pointe

Re: Proposed new ts api calls

2018-01-30 Thread Walt Karas
The plugin would own them and would have to call TSFree() when done with them. They would be nul terminated. On Mon, Jan 29, 2018 at 4:52 PM, Alan Carroll wrote: > What are the ownership properties of the memory indicated by the returned > pointers? Are these strings guaranteed to be null termin

Re: Proposed new ts api calls

2018-01-30 Thread Walt Karas
Sorry that's a typo, it should not be there. On Mon, Jan 29, 2018 at 3:53 PM, Shu Kit Chan wrote: > What does the "I" stand for in "TSIRemapFromUrlStringGet" ? > > On Mon, Jan 29, 2018 at 10:02 AM, Walt Karas wrote: >> const char *TSIRemapFromUrlStringGet(const TSHttpTxn txnp); >> >> const char

Re: Proposed new ts api calls

2018-01-29 Thread Alan Carroll
What are the ownership properties of the memory indicated by the returned pointers? Are these strings guaranteed to be null terminated or is a length needed? On Mon, Jan 29, 2018 at 3:53 PM, Shu Kit Chan wrote: > What does the "I" stand for in "TSIRemapFromUrlStringGet" ? > > On Mon, Jan 29, 201

Re: Proposed new ts api calls

2018-01-29 Thread Shu Kit Chan
What does the "I" stand for in "TSIRemapFromUrlStringGet" ? On Mon, Jan 29, 2018 at 10:02 AM, Walt Karas wrote: > const char *TSIRemapFromUrlStringGet(const TSHttpTxn txnp); > > const char *TSIRemapToUrlStringGet(const TSHttpTxn txnp); > > These would return, from the transaction state object, >