30 lines · 1003 B · Go
RawDownload
// 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}