Bryan Dunlap [2005-07-21 16:25 UTC]Just added an example source file to illustrate basic API usage. Any thoughts? I think the end-user API is pretty straightforward.
I know Alan had commented previously that he thought the internal API was maybe a bit of overkill, but it does (IMO) make any functionality additions and/or changes a snap, without incurring a ton of additional overhead.
Philippe Jausions [2005-07-21 17:25 UTC]In DynDNS.php:
- I believe "self::" is PHP5 only (getUserAgent() and setUserAgent())
- What's the point of the "static" in apiVersion()?
- In sendRequest, I would say "Unexpected HTTP response code" instead of "invalid http response code"
- In _userAgent(), better test for "$value === false"
- DocBlock updates:
+ @return for getUserAgent(),
+ @return PEAR_Error|Services_DynDNS_Response for sendRequest()
In Request::factory() method, add basename() around strtolower($type) to avoid directory transversal.
Bryan Dunlap [2005-07-21 18:47 UTC]Done, done and done. :)
Thanks for the feedback. Services_DynDNS-0.2.1 now available.
Bryan Dunlap [2005-07-26 16:49 UTC]If there are no further comments and/or suggestions, I'll throw this to a vote tomorrow.
Christian Weiske [2005-07-26 16:56 UTC]- Why don't you set a default user agent? (Or have I overlooked it?) IMO DynDNS requires it to have a user-agent line in the requests.
- Could you check if the constants are already defined before defining them?
Bryan Dunlap [2005-07-26 18:01 UTC]- Default user agent is defined (SERVICES_DYNDNS_DEFAULT_USER_AGENT), and is used if no custom user agent is set via Services_DynDNS::setUserAgent()
- Not sure why I would need to check for defined SERVICES_DYNDNS_* constants, as none are intended to be defined outside the package?