99designs/ergo — pull request #1 by rbone (2011-10-23 12:30:59+00:00)
Title: Extracted Http\Transport from Http\Client

Refactored the Http\Client class such that all code dealing directly with curl now resides in Http\Transport, this will enable certain types of testing/mocking that wasn't previously possible when dealing with the Http\Client.

Obviously a lot of fairly important code depends on this so it warrants a fair degree of scrutiny, a means to properly test the Transport would be nice too.

Additionally the Transport has three methods on it: setTimeout, setHttpProxy & setHttpAuth. These three methods don't really feel like they belong on this class, but as yet I've come up with no solution for removing them, idea's welcome.