Skip to content

Omit trailing slash when proxying pre-authorized routes with no suffix

Stan Hu requested to merge sh-avoid-trailing-slash-in-proxy into master

In !56731 (merged), we pulled in the upstream reverse proxy code to rebase a suffix onto a URL (e.g. /api/v4/uploads -> /api/v4/uploads/authorize).

In the case of info/refs, git-upload-pack, etc. no suffix is added in the authorization endpoint. The changes in that merge request would cause Workhorse to append a trailing slash when proxying the request to Rails. However, in #330787 (closed), this broke Geo maintenance mode since the middleware did not strip the trailing slash.

To fix this, we restore the behavior and omit the trailing slash if no pre-authorize suffix is provided. The absence or present of a trailing slash usually does not cause a material difference, but we might as well preserve the format of the original request.

Edited by Stan Hu

Merge request reports