Page MenuHomePhabricator

D12622.id30334.diff
No OneTemporary

D12622.id30334.diff

diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -2698,6 +2698,7 @@
'PhabricatorVeryWowEnglishTranslation' => 'infrastructure/internationalization/translation/PhabricatorVeryWowEnglishTranslation.php',
'PhabricatorViewerDatasource' => 'applications/people/typeahead/PhabricatorViewerDatasource.php',
'PhabricatorWatcherHasObjectEdgeType' => 'applications/transactions/edges/PhabricatorWatcherHasObjectEdgeType.php',
+ 'PhabricatorWebServerSetupCheck' => 'applications/config/check/PhabricatorWebServerSetupCheck.php',
'PhabricatorWordPressAuthProvider' => 'applications/auth/provider/PhabricatorWordPressAuthProvider.php',
'PhabricatorWorker' => 'infrastructure/daemon/workers/PhabricatorWorker.php',
'PhabricatorWorkerActiveTask' => 'infrastructure/daemon/workers/storage/PhabricatorWorkerActiveTask.php',
@@ -6146,6 +6147,7 @@
'PhabricatorVeryWowEnglishTranslation' => 'PhutilTranslation',
'PhabricatorViewerDatasource' => 'PhabricatorTypeaheadDatasource',
'PhabricatorWatcherHasObjectEdgeType' => 'PhabricatorEdgeType',
+ 'PhabricatorWebServerSetupCheck' => 'PhabricatorSetupCheck',
'PhabricatorWordPressAuthProvider' => 'PhabricatorOAuth2AuthProvider',
'PhabricatorWorkerActiveTask' => 'PhabricatorWorkerTask',
'PhabricatorWorkerArchiveTask' => 'PhabricatorWorkerTask',
diff --git a/src/applications/config/check/PhabricatorWebServerSetupCheck.php b/src/applications/config/check/PhabricatorWebServerSetupCheck.php
new file mode 100644
--- /dev/null
+++ b/src/applications/config/check/PhabricatorWebServerSetupCheck.php
@@ -0,0 +1,45 @@
+<?php
+
+final class PhabricatorWebServerSetupCheck extends PhabricatorSetupCheck {
+
+ public function getDefaultGroup() {
+ return self::GROUP_OTHER;
+ }
+
+ protected function executeChecks() {
+ return;
+ $base_uri = PhabricatorEnv::getEnvConfig('phabricator.base-uri');
+ $base_uri = new PhutilURI($base_uri);
+
+ // If `phabricator.base-uri` is not set then we can't really do anything.
+ if (!$base_uri) {
+ return;
+ }
+
+ // Make sure that we don't recursively call the setup check.
+ if (AphrontRequest::getHTTPHeader('X-Phabricator-Setup-Check')) {
+ return;
+ }
+
+ $base_uri
+ ->setDomain('127.0.0.1')
+ ->setPath('/status/');
+
+ $future = id(new HTTPSFuture($base_uri))
+ ->addHeader('Host', $base_uri->getDomain())
+ ->addHeader('Accept-Encoding', 'gzip')
+ ->addHeader('Connection', 'Close')
+ ->addHeader('X-Phabricator-Setup-Check', true)
+ ->setTimeout(5);
+
+ list($status, $body, $headers) = $future->resolve();
+
+ if (BaseHTTPFuture::getHeader($headers, 'Content-Encoding') != 'gzip') {
+ $this->newIssue('webserver.gzip')
+ ->setName(pht('Enable gzip compression'))
+ ->setMessage(pht('Enable gzip compression.'));
+ return;
+ }
+ }
+
+}

File Metadata

Mime Type
text/plain
Expires
Nov 2 2025, 5:54 PM (4 w, 3 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
8537599
Default Alt Text
D12622.id30334.diff (2 KB)

Event Timeline