diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2021-08-18 21:10:39 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-18 21:10:39 +0800 |
commit | f9acad82ca231b2a094879e53134b0d91815ddf0 (patch) | |
tree | 31207c11f9d2c7135bfb31cbf1388d94724f1ddc /modules/lfs | |
parent | 422c30d3157d9f06af43901a1c7978dd25ca12a5 (diff) | |
download | gitea-f9acad82ca231b2a094879e53134b0d91815ddf0.tar.gz gitea-f9acad82ca231b2a094879e53134b0d91815ddf0.zip |
Add proxy settings and support for migration and webhook (#16704)
* Add proxy settings and support for migration and webhook
* Fix default value
* Add newline for example ini
* Add lfs proxy support
* Fix lint
* Follow @zeripath's review
* Fix git clone
* Fix test
* missgin http requests for proxy
* use empty
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: zeripath <art27@cantab.net>
Diffstat (limited to 'modules/lfs')
-rw-r--r-- | modules/lfs/client.go | 4 | ||||
-rw-r--r-- | modules/lfs/client_test.go | 4 | ||||
-rw-r--r-- | modules/lfs/http_client.go | 11 |
3 files changed, 13 insertions, 6 deletions
diff --git a/modules/lfs/client.go b/modules/lfs/client.go index 0a21440f73..81b047c5bd 100644 --- a/modules/lfs/client.go +++ b/modules/lfs/client.go @@ -24,9 +24,9 @@ type Client interface { } // NewClient creates a LFS client -func NewClient(endpoint *url.URL) Client { +func NewClient(endpoint *url.URL, skipTLSVerify bool) Client { if endpoint.Scheme == "file" { return newFilesystemClient(endpoint) } - return newHTTPClient(endpoint) + return newHTTPClient(endpoint, skipTLSVerify) } diff --git a/modules/lfs/client_test.go b/modules/lfs/client_test.go index 1040b39925..ee6b7a59fc 100644 --- a/modules/lfs/client_test.go +++ b/modules/lfs/client_test.go @@ -13,10 +13,10 @@ import ( func TestNewClient(t *testing.T) { u, _ := url.Parse("file:///test") - c := NewClient(u) + c := NewClient(u, true) assert.IsType(t, &FilesystemClient{}, c) u, _ = url.Parse("https://test.com/lfs") - c = NewClient(u) + c = NewClient(u, true) assert.IsType(t, &HTTPClient{}, c) } diff --git a/modules/lfs/http_client.go b/modules/lfs/http_client.go index 31c67903a8..5df5ed33a9 100644 --- a/modules/lfs/http_client.go +++ b/modules/lfs/http_client.go @@ -7,6 +7,7 @@ package lfs import ( "bytes" "context" + "crypto/tls" "errors" "fmt" "net/http" @@ -15,6 +16,7 @@ import ( "code.gitea.io/gitea/modules/json" "code.gitea.io/gitea/modules/log" + "code.gitea.io/gitea/modules/proxy" ) const batchSize = 20 @@ -32,8 +34,13 @@ func (c *HTTPClient) BatchSize() int { return batchSize } -func newHTTPClient(endpoint *url.URL) *HTTPClient { - hc := &http.Client{} +func newHTTPClient(endpoint *url.URL, skipTLSVerify bool) *HTTPClient { + hc := &http.Client{ + Transport: &http.Transport{ + TLSClientConfig: &tls.Config{InsecureSkipVerify: skipTLSVerify}, + Proxy: proxy.Proxy(), + }, + } client := &HTTPClient{ client: hc, |