Something went wrong. Try again.
@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
Something went wrong. Try again.
1.2 kB · 34 lines
PHP
1234567891011121314151617181920212223242526272829303132333435<?php
final class DiffusionRepositoryDefaultController extends DiffusionController {
public function shouldAllowPublic() { // NOTE: We allow public access to this controller because it handles // redirecting paths that are missing a trailing "/". We need to manually // redirect these instead of relying on the automatic redirect because // some VCS requests may omit the slashes. See T12035, and below, for some // discussion. return true; }
public function handleRequest(AphrontRequest $request) { $response = $this->loadDiffusionContext(); if ($response) { return $response; }
// NOTE: This controller is just here to make sure we call // willBeginExecution() on any /diffusion/X/ URI, so we can intercept // `git`, `hg` and `svn` HTTP protocol requests.
// 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.
$drequest = $this->getDiffusionRequest(); $repository = $drequest->getRepository();
return id(new AphrontRedirectResponse()) ->setURI($repository->getURI()); }}