diff --git a/relp_handler.go b/relp_handler.go index 6b88229..54e0e98 100644 --- a/relp_handler.go +++ b/relp_handler.go @@ -67,7 +67,14 @@ func NewRELPHandler(relpURL string) (*RELPHandler, error) { } func (r *RELPHandler) connectToRELPServer() (net.Conn, error) { - conn, err := net.Dial("tcp", r.relpServerURL) + parsedURL, err := url.Parse(r.relpServerURL) + if err != nil { + return nil, fmt.Errorf("Error parsing RELP URL: %v", err) + } + if parsedURL.Scheme != "tcp" { + return nil, fmt.Errorf("RELP URL must have the tcp scheme, got %s", parsedURL.Scheme) + } + conn, err := net.Dial("tcp", parsedURL.Host) if err != nil { return nil, err }