Some services require an API key, username/password, or other non-standard information. Those options are set on a per-service basis and passed to the constructor.
By default, Services_ShortURL will create a cURL version of HTTP_Request2. If you need to override this you can use the accept method or pass an instance into the constructor.
Throws: InvalidArgumentException on invalid object
All of the URL shortening services, for the most part, do a 301 redirect using the Location header. Rather than implement this over and over we provide it here and assume others who need non-normal expansion will override this method.