trafficserver
trafficserver copied to clipboard
Add to API to get a strategy during TSRemapNewInstance
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.