Quellcode durchsuchen

Track compoesr major version separately from full version string

Jordi Boggiano vor 5 Jahren
Ursprung
Commit
9087ed1019

+ 1 - 0
src/Packagist/WebBundle/Controller/ApiController.php

@@ -237,6 +237,7 @@ class ApiController extends Controller
             $uaParser = new UserAgentParser($request->headers->get('User-Agent'));
             $this->get('Graze\DogStatsD\Client')->increment('installs', 1, 1, [
                 'composer' => $uaParser->getComposerVersion() ?: 'unknown',
+                'composer_major' => $uaParser->getComposerMajorVersion() ?: 'unknown',
                 'php_minor' => preg_replace('{^(\d+\.\d+).*}', '$1', $uaParser->getPhpVersion()) ?: 'unknown',
                 'php_patch' => $uaParser->getPhpVersion() ?: 'unknown',
                 'http' => $uaParser->getHttpVersion() ?: 'unknown',

+ 13 - 0
src/Packagist/WebBundle/Util/UserAgentParser.php

@@ -34,6 +34,19 @@ class UserAgentParser
         return $this->composerVersion;
     }
 
+    public function getComposerMajorVersion(): ?string
+    {
+        if (!$this->composerVersion) {
+            return null;
+        }
+
+        if ($this->composerVersion === 'pre-1.8.5') {
+            return '1';
+        }
+
+        return substr($this->composerVersion, 0, 1);
+    }
+
     public function getPhpVersion(): ?string
     {
         return $this->phpVersion;