func DialEndPoint(addr string) (EndPoint, error) {
    u, err := url.Parse(addr)
    if err != nil {
        return nil, fmt.Errorf("dial: invalid address: %s", err)
    }