Is the code replication exact, or very nearly exact? If so I think I'd go with option 2. (If it was only 50-100 lines of code I'd pick option 1, but 600 lines seems like rather a lot.) I suspect that the XML http-client will be with us for quite some time.
I agree that option 3, while clean, probably has too much conversion overhead. I'm not sure if there are any best-practices here for implementing #2. As far as I know, there's no real concept of a protected module. For now, just make it a new module in the core with the conversion functions public, and a big XQDoc comment stating that this module isn't intended to be used by anyone other than the two http-client modules and that we make no promises about maintaining the API or the module itself. -- https://code.launchpad.net/~zorba-coders/zorba/http-client-based-on-json-http-client/+merge/169578 Your team Zorba Coders is subscribed to branch lp:zorba/http-client-module. -- Mailing list: https://launchpad.net/~zorba-coders Post to : email@example.com Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp