// Package util provides utility functions for the CLI Proxy API server.// It includes helper functions for proxy configuration, HTTP client setup,// log level management, and other common operations used across the application.package util import ( "net/http" "github.com/router-for-me/CLIProxyAPI/v7/sdk/config" "github.com/router-for-me/CLIProxyAPI/v7/sdk/proxyutil" log "github.com/sirupsen/logrus") // SetProxy configures the provided HTTP client with proxy settings from the configuration.// It supports SOCKS5, HTTP, and HTTPS proxies. The function modifies the client's transport// to route requests through the configured proxy server.func SetProxy(cfg *config.SDKConfig, httpClient *http.Client) *http.Client { if cfg == nil || httpClient == nil { return httpClient } transport, _, errBuild := proxyutil.BuildHTTPTransport(cfg.ProxyURL) if errBuild != nil { log.Errorf("%v", errBuild) } if transport != nil { httpClient.Transport = transport } return httpClient}// Package util provides utility functions for the CLI Proxy API server.
// It includes helper functions for proxy configuration, HTTP client setup,
// log level management, and other common operations used across the application.
package util
import (
"net/http"
"github.com/router-for-me/CLIProxyAPI/v7/sdk/config"
"github.com/router-for-me/CLIProxyAPI/v7/sdk/proxyutil"
log "github.com/sirupsen/logrus"
)
// SetProxy configures the provided HTTP client with proxy settings from the configuration.
// It supports SOCKS5, HTTP, and HTTPS proxies. The function modifies the client's transport
// to route requests through the configured proxy server.
func SetProxy(cfg *config.SDKConfig, httpClient *http.Client) *http.Client {
if cfg == nil || httpClient == nil {
return httpClient
}
transport, _, errBuild := proxyutil.BuildHTTPTransport(cfg.ProxyURL)
if errBuild != nil {
log.Errorf("%v", errBuild)
}
if transport != nil {
httpClient.Transport = transport
}
return httpClient
}