Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
RSS update and caching broken for some feeds MDL-7045
  • Loading branch information
skodak committed Oct 17, 2006
1 parent a30e48b commit a91a3c5
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 7 deletions.
15 changes: 14 additions & 1 deletion lib/magpie/README_MOODLE.txt
Expand Up @@ -2,4 +2,17 @@ This folder is the MagpieRSS news feed client library
http://magpierss.sourceforge.net/
Moodle's rss_client block uses these libraries to download, parse and cache remote new feeds.

Magpie version 0.72 added to Moodle 1.6dev on 20051213
Magpie version 0.72 added to Moodle 1.6dev on 20051213

=============================================================
Changes - see MDL-7045:
* ETag and Last-Modified http field names are not case sensitive anymore - should improve caching
* Fixed some minor undefined warnings
* Tralining newlines are stripped from ETag and Last-Modified headers (discovered by Matthew Bockol),
we should be sending valid headers when fetching feed updates now, yay!


Fixes not reported upstream yet.

skodak
16 October 2006
13 changes: 7 additions & 6 deletions lib/magpie/rss_fetch.inc
Expand Up @@ -163,7 +163,7 @@ function fetch_rss ($url, $postdata=null) {
// setup headers
if ( $cache_status == 'STALE' ) {
$rss = $cache->get( $cache_key );
if ( $rss and $rss->etag and $rss->last_modified ) {
if ( $rss and !empty($rss->etag) and !empty($rss->last_modified) ) { // moodle fixes
$request_headers['If-None-Match'] = $rss->etag;
$request_headers['If-Last-Modified'] = $rss->last_modified;
}
Expand Down Expand Up @@ -318,14 +318,15 @@ function _response_to_rss ($resp) {
$field = $h;
$val = "";
}
if ( $field == 'ETag' ) {
$rss->etag = $val;
// start of moodle modification
if ( strtolower($field) == 'etag' ) { // field names are case insensitive - sites are sending Etag, ETag, etc.
$rss->etag = rtrim($val); // trailing newline problem discovered by Matthew Bockol
}

if ( $field == 'Last-Modified' ) {
$rss->last_modified = $val;
if ( strtolower($field) == 'last-modified' ) { // field names are case insensitive
$rss->last_modified = rtrim($val); // we do not want any whitespace after it
}
// end of moodle modification
}

return $rss;
Expand Down

0 comments on commit a91a3c5

Please sign in to comment.