1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 09:42:41 +01:00
phorge-phorge/src/aphront/response
epriestley c7f23f522a Accept and route VCS HTTP requests
Summary:
Mostly ripped from D7391, with some changes:

  - Serve repositories at `/diffusion/X/`, with no special `/git/` or `/serve/` URI component.
    - This requires a little bit of magic, but I got the magic working for Git, Mercurial and SVN, and it seems reasonable.
    - I think having one URI for everything will make it easier for users to understand.
    - One downside is that git will clone into `X` by default, but I think that's not a big deal, and we can work around that in the future easily enough.
  - Accept HTTP requests for Git, SVN and Mercurial repositories.
  - Auth logic is a little different in order to be more consistent with how other things work.
  - Instead of AphrontBasicAuthResponse, added "VCSResponse". Mercurial can print strings we send it on the CLI if we're careful, so support that. I did a fair amount of digging and didn't have any luck with git or svn.
  - Commands we don't know about are assumed to require "Push" capability by default.

No actual VCS data going over the wire yet.

Test Plan:
Ran a bunch of stuff like this:

  $ hg clone http://local.aphront.com:8080/diffusion/P/
  abort: HTTP Error 403: This repository is not available over HTTP.

...and got pretty reasonable-seeming errors in all cases. All this can do is produce errors for now.

Reviewers: hach-que, btrahan

Reviewed By: hach-que

CC: aran

Maniphest Tasks: T2230

Differential Revision: https://secure.phabricator.com/D7417
2013-10-29 15:32:40 -07:00
..
Aphront304Response.php Delete license headers from files 2012-11-05 11:16:51 -08:00
Aphront400Response.php Delete license headers from files 2012-11-05 11:16:51 -08:00
Aphront403Response.php Restore merge of phutil_tag. 2013-02-13 14:51:18 -08:00
Aphront404Response.php Restore merge of phutil_tag. 2013-02-13 14:51:18 -08:00
AphrontAjaxResponse.php Further mitigate BREACH by reducing reflectiveness 2013-08-07 16:09:25 -07:00
AphrontDialogResponse.php Restyle username/password login for reduced hideousness 2013-06-16 16:31:14 -07:00
AphrontFileResponse.php Fix two issues with audio macros 2013-09-28 15:32:48 -07:00
AphrontHTMLResponse.php Make webpage response final 2012-11-29 05:39:55 -08:00
AphrontJSONResponse.php Delete license headers from files 2012-11-05 11:16:51 -08:00
AphrontPlainTextResponse.php Delete license headers from files 2012-11-05 11:16:51 -08:00
AphrontProxyResponse.php Make AphrontProxyResponse reduce to a real response instead of building a string 2012-12-11 17:27:25 -08:00
AphrontRedirectResponse.php Convert AphrontErrorView to safe HTML 2013-02-07 17:26:01 -08:00
AphrontReloadResponse.php Delete license headers from files 2012-11-05 11:16:51 -08:00
AphrontResponse.php Accept and route VCS HTTP requests 2013-10-29 15:32:40 -07:00
AphrontWebpageResponse.php Restore merge of phutil_tag. 2013-02-13 14:51:18 -08:00