Differential D8098 Diff 18348 src/applications/diffusion/controller/DiffusionRepositoryDefaultController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/diffusion/controller/DiffusionRepositoryDefaultController.php
| <?php | <?php | ||||
| final class DiffusionRepositoryDefaultController extends DiffusionController { | final class DiffusionRepositoryDefaultController extends DiffusionController { | ||||
| public function processRequest() { | public function processRequest() { | ||||
| // NOTE: This controller is just here to make sure we call | // NOTE: This controller is just here to make sure we call | ||||
| // willBeginExecution() on any /diffusion/X/ URI, so we can intercept | // willBeginExecution() on any /diffusion/X/ URI, so we can intercept | ||||
| // `git`, `hg` and `svn` HTTP protocol requests. | // `git`, `hg` and `svn` HTTP protocol requests. | ||||
| return new Aphront404Response(); | |||||
| // If we made it here, it's probably because the user copy-pasted a | |||||
| // clone URI with "/anything.git" at the end into their web browser. | |||||
| // Send them to the canonical repository URI. | |||||
| return id(new AphrontRedirectResponse()) | |||||
| ->setURI($this->getDiffusionRequest()->getRepository()->getURI()); | |||||
| } | } | ||||
| } | } | ||||