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]


Reply via email to