Browse Source

Merge branch 'master' of github.com:composer/packagist into bmichalski/sortable-search

Benjamin Michalski 10 years ago
parent
commit
c0f76ad99d

+ 1 - 1
src/Packagist/WebBundle/Command/IndexPackagesCommand.php

@@ -150,7 +150,7 @@ class IndexPackagesCommand extends ContainerAwareCommand
                                 $document->setField('replacementPackage', '');
                                 $update->addDocument($document);
                             } catch (\Exception $e) {
-                                $output->writeln('<error>Exception: '.$e->getMessage().', skipping package '.$package->getName().':provide:'.$provide->getPackageName().'</error>');
+                                $output->writeln('<error>'.get_class($e).': '.$e->getMessage().', skipping package '.$package->getName().':provide:'.$provide->getPackageName().'</error>');
                             }
                         }
                     }

+ 1 - 1
src/Packagist/WebBundle/Controller/PackageController.php

@@ -94,7 +94,7 @@ class PackageController extends Controller
             $form->bind($request->request->get('package'));
             if ($form->isValid()) {
                 $package->setAbandoned(true);
-                $package->setReplacementPackage($form->get('replacement')->getData());
+                $package->setReplacementPackage(str_replace('https://packagist.org/packages/', '', $form->get('replacement')->getData()));
                 $package->setIndexedAt(null);
 
                 $em = $this->getDoctrine()->getManager();

+ 18 - 0
src/Packagist/WebBundle/EventListener/CacheListener.php

@@ -0,0 +1,18 @@
+<?php
+
+namespace Packagist\WebBundle\EventListener;
+
+use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
+
+class CacheListener
+{
+    public function onResponse(FilterResponseEvent $e)
+    {
+        $resp = $e->getResponse();
+
+        // add nginx-cache compatible header
+        if ($resp->headers->hasCacheControlDirective('public') && ($cache = $resp->headers->getCacheControlDirective('s-maxage'))) {
+            $resp->headers->set('X-Accel-Expires', $cache);
+        }
+    }
+}

+ 5 - 0
src/Packagist/WebBundle/Resources/config/services.yml

@@ -10,6 +10,11 @@ services:
         tags:
             - { name: twig.extension }
 
+    packagist.cache_listener:
+        class: Packagist\WebBundle\EventListener\CacheListener
+        tags:
+            - { name: kernel.event_listener, event: kernel.response, method: onResponse }
+
     packagist.package_dumper:
         class: Packagist\WebBundle\Package\SymlinkDumper
         arguments: [ @doctrine, @filesystem, @router, "%kernel.root_dir%/../web/", "%packagist_metadata_dir%" ]