34 lines
800 B
Go
34 lines
800 B
Go
package utils
|
|
|
|
import (
|
|
"crypto/tls"
|
|
"net/http"
|
|
"time"
|
|
)
|
|
|
|
// CreateInsecureHTTPClient creates an HTTP client that skips SSL verification
|
|
func CreateInsecureHTTPClient() *http.Client {
|
|
tr := &http.Transport{
|
|
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
|
}
|
|
|
|
return &http.Client{
|
|
Transport: tr,
|
|
Timeout: 30 * time.Second,
|
|
}
|
|
}
|
|
|
|
// CreateSecureHTTPClient creates a standard HTTP client with SSL verification
|
|
func CreateSecureHTTPClient() *http.Client {
|
|
return &http.Client{
|
|
Timeout: 30 * time.Second,
|
|
}
|
|
}
|
|
|
|
// GetHTTPClient returns appropriate client based on environment
|
|
func GetHTTPClient(skipSSL bool) *http.Client {
|
|
if skipSSL {
|
|
return CreateInsecureHTTPClient()
|
|
}
|
|
return CreateSecureHTTPClient()
|
|
} |