Description
This modification to the XMLRPCStreamTransport adds a customization point to determine if the transport needs to redirect the request before attempting to parse the response from the server. This uses a similar redirect algorithm as used in the Apache Http client to processing redirects with a Max limit to prevent a recursive loop.
The redirect logic itself is implemented in two callback methods isRedirectRequired() and
resetClientForRedirect()
These callback methods are only implemented in the XmlRpcCommonsTransport which means that the other transport options won't support redirects (unless they are modified to do this by implementing these call back methods)