[Tickets #10955] Create seams for customizing settings on Horde_Http_Request objects
bugs at horde.org
bugs at horde.org
Wed Feb 1 16:31:11 UTC 2012
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/10955
------------------------------------------------------------------------------
Ticket | 10955
Created By | bob at bluestatedigital.com
Summary | Create seams for customizing settings on
| Horde_Http_Request objects
Queue | Horde Framework Packages
Version | Git master
Type | Enhancement
State | New
Priority | 1. Low
Milestone |
Patch |
Owners |
------------------------------------------------------------------------------
bob at bluestatedigital.com (2012-02-01 16:31) wrote:
The stream context options on Horde_Http_Request_Fopen and curl
options on Horde_Http_Request_Curl options are inaccessible. There
are no seams to modify them without creating a new class, copy/pasting
the oversized send() method and apply customization within. This
leads to unnecessary work the next time you try to upgrade the
underlying Horde libs.
The quickest solution is to extract the initialization of $opts and
$curl into a protected method. This would allow deveopers to extend
the class, overwrite the method, and add or modify options before
returning the value to send() for usage.
If publishing protected methods like this in a public project is not
desirable you could possibly create an options Builder (meaning
Builder Pattern) which could be injected. The Builder could have
methods like setProxy($host, $port), setAuth($scheme, $username,
$password), and of course a build()/make()/create() method that
returns the assembled object. The Builder could be extended by
developers to add more options at any stage of the building process.
More information about the bugs
mailing list