Backend: Move Gitlab::HTTP to gems
As a part of the "moving libs to gems" effort (!122915 (merged)), in this issue, we aim to move lib/gitlab/http.rb
to the gems
as a monorepo gem.
Work list:
-
Initial implementation: !125024 (merged) -
Documentation change (https://docs.gitlab.com/ee/development/secure_coding_guidelines.html#gitlab-http-library). -
.gitlab/CODEOWNERS
change. (!125024 (comment 1544693859)) -
As a migration step, use the new gem inside of lib/gitlab/http.rb
. -
Move config.http_proxy_env = Gitlab.http_proxy_env?
to the gem (!125024 (comment 1506502552)) -
Finally, replace or remove the require_relative
inconfig/initializers/gitlab_http.rb
. See: !125024 (comment 1502698924) -
Handle silent mode !125024 (comment 1511792885) -
Use extra_allowed_uris
instead ofallowed_internal_uris
!125024 (comment 1512071587) -
Handle Rubocop TODOs -
spec.email = ["engineering@gitlab.com"]
!125024 (comment 1555514248) -> #424940 (closed). -
the feature flag use_gitlab_http_v2
#426549 (closed).
Implementation steps:
- Create gitlab-http gem (!125024 - merged)
- Fix some rubocops for gitlab-http and fix the e... (!131612 - merged)
- Enable gitlab-http gem and its patches (!132238 - merged)
- Replace UrlBlocker::BlockedUrlError with HTTP_V2 (!132541 - merged)
- Use the HTTP_V2 alongside LegacyHTTP (!132742 - merged)
- Modify gitlab-http docs and add CODEOWNERS (!133687 - merged)
- Add async support to gitlab-http (!135127 - merged)
Edited by Furkan Ayhan