trafficserver icon indicating copy to clipboard operation
trafficserver copied to clipboard

Add to API to get a strategy during TSRemapNewInstance

Open traeak opened this issue 3 months ago • 0 comments

This gives the API access to the RemapConfig url_mapping during TSRemapNewInstance calls. This contains both the assigned stragies pointer and a pointer to the loaded strategy factory.

This modifies the strategies ts API from the previous PR.

API is:

valid during TSRemapNewInstance:

TSStrategy TSRemapNextHopStrategyFind(const char *name);
TSStrategy TSRemapNextHopStrategyGet();
void TSRemapNextHopStrategySet(TSStrategy strategy);

valid during remap (the Find call is changed):

TSStrategy TSHttpTxnNextHopStrategyFind(TSHttpTxn txnp, const char *name);
TSStrategy TSHttpTxnNextHopStrategyGet(TSHttpTxn txnp);
void TSHttpTxnNextHopStrategySet(TSHttpTxn txnp, TSStrategy strategy);

with utility function to get the strategy name (returns "null" if nullptr strategy):

char const *TSNextHopStrategyNameGet(TSStrategy strategy);

The header_rewrite and regex_remap plugins are modified to look up named strategies during TSRemapNewInstance instead of performing strategy factory lookups during each transaction remap hook.

traeak avatar Oct 21 '25 21:10 traeak