Improvements & bugfixes for PHP gadget server
---------------------------------------------
Key: SHINDIG-112
URL: https://issues.apache.org/jira/browse/SHINDIG-112
Project: Shindig
Issue Type: Improvement
Components: Gadgets Server - PHP
Reporter: Chris Chabot
Priority: Critical
Attachments: shindig-php-fixes.patch
I hope someone can commit this soon, it fixes a lot of the issues that i found
during some proper testing.
The patch can be applied on the trunk (patch -p1 from the shindig root) and
contains the following improvements and bug fixes (can you include these in the
commit message?):
- Changed *RemoteContent* to do single requests, curl_multi was acting up on
some of my systems and wasn't used in practice anyhow, so simplifying it to
single requests resolved these issues.
- Refactored Gadget / GadgetView / GadgetSpec into a single class. Simple class
structure fits better with PHP, and makes it easier to read too.
- Moved http processing options into the config array, this way they you can
override then if desired, and saves code.
- Removed a few bits of unused code (Icons, NoOop feature).
- Removed abstract base classes for things that don't have to be replaced by
site's own implementations (featurespec, userpref and localespec).
- Moved the caching of the feature loader a bit up in the chain, saves a good
bit on processing time and has the same effect.
- Fixed a silly oversight where the cache key for url's was md5'd twice, thus
increasing the change of a key collision.
- Removed a few more include's that are now handled by the __autoloader.
- Now using sha1 instead of md5 for keys (larger keys, theoretically less
chance of key collisions).
- Fixed a bug in the proxy where httpMethod was ignored if fetchJson was called.
- Fixed a bug in the proxy where it didn't always look in the post variables
for url/method/etc, and made this generally more consistent
- Implemented the missing sha1 checksum for the js libs query (?js=<version>)
for href gadget content.
- Added a noHeaders option to the base http servlet class, so we can properly
use its destructor without breaking the JS and Proxy servlets.
- Improved header handling in the proxy code, uses apache's get all headers
where available and otherwise falls back on a _SERVER based work around, also
blacklisted a few headers for the passthru and thus fixing a few bugs where the
browser didn't understand the request so well.
- Fixed handling of postData in the proxy.
- Fixed setCachingHeaders in the proxy.
- Fixed the mixed naming of jsLibrary / JsLibrary which was causing the
autoloader to fail
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.