shinrich commented on issue #5230: URL: https://github.com/apache/trafficserver/issues/5230#issuecomment-728166447
My thoughts on this just thinking about the HttpSM and the ProxyTransactions, is that the we simply push the parsing/serialization into the ProxyTransaction classes. In that case the HttpSM only deals with a possibly canonicalized form of HttpHdr. The tricky bit with that is the buffer based do_io interface between the ProxyTransaction and the HttpSM. We would need to augment that interface to allow for HttpHdr's to be passed along. Perhaps ProxyTransaction classes can have another flavor of virtual do_io_write/do_io_read added that take a HttpHdr explicitly. Or @SolidWallOfCode suggested adding the ability to add a HttpHdr to the VIO object directly. For non-transform plugins, this should require no code change. However @SolidWallOfCode also pointed out that transform plugins act as ProxyTransaction classes (via the PluginVC inheritance), so they currently are also written to parse out headers. Presumably just the Response headers. So any solution would need to identify the presence of Transforms in the chain and serialize in that case anyway (losing a degree of code clean up) or the transform plugins would need to be rewritten to adapt to the updated do_io functions for interacting with headers. We need to look at some of the transform plugins and make some judges on how onerous the do_io interface change would be for them. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
