@@ -317,14 +317,30 @@ private function getMetadata($key)
317317/**
318318 * Purges data for the given URL.
319319 *
320+ * This method purges both the HTTP and the HTTPS version of the cache entry.
321+ *
320322 * @param string $url A URL
321323 *
322- * @return bool true if the URL exists and has been purged, false otherwise
324+ * @return bool true if the URL existswith either HTTP or HTTPS scheme and has been purged, false otherwise
323325 */
324326public function purge ($ url )
325327 {
326- $ key =$ this ->getCacheKey (Request::create ($ url ));
328+ $ http =preg_replace ('#^https# ' ,'http ' ,$ url );
329+ $ https =preg_replace ('#^http# ' ,'https ' ,$ url );
327330
331+ return $ this ->doPurge ($ http ) ||$ this ->doPurge ($ https );
332+ }
333+
334+ /**
335+ * Purges data for the given URL.
336+ *
337+ * @param string $url A URL
338+ *
339+ * @return bool true if the URL exists and has been purged, false otherwise
340+ */
341+ private function doPurge ($ url )
342+ {
343+ $ key =$ this ->getCacheKey (Request::create ($ url ));
328344if (isset ($ this ->locks [$ key ])) {
329345flock ($ this ->locks [$ key ],LOCK_UN );
330346fclose ($ this ->locks [$ key ]);