Files
deconnect/internal/domains/dialer/dial.go
2026-05-26 17:14:18 +03:00

38 lines
716 B
Go

package dialer
import (
"crypto/tls"
"fmt"
"net"
"net/url"
)
func (d *Dialer) Dial() (net.Conn, error) {
if d.dialURL.Scheme == "https" {
return tls.Dial("tcp", d.dialURL.Host, &tls.Config{
ServerName: d.dialURL.Hostname(),
InsecureSkipVerify: d.app.Config().Upstream.InsecureTLS,
})
}
return net.Dial("tcp", d.dialURL.Host)
}
func (d *Dialer) UpstreamURL() (*url.URL, error) {
if d.app.Config().Upstream.URL == "" {
return nil, fmt.Errorf(
"%w: %w (%s)", ErrDialer, ErrParseURL,
"upstream URL is empty",
)
}
u, err := url.Parse(d.app.Config().Upstream.URL)
if err != nil {
return nil, fmt.Errorf(
"%w: %w (%w)", ErrDialer, ErrParseURL, err,
)
}
return u, nil
}