public static URL getResource(String resourceName)
    {
        URL url = null;
        // attempt to load from the context classpath
        ClassLoader loader = Thread.currentThread().getContextClassLoader();
        if (loader != null) {
            url = loader.getResource(resourceName);
        }
        if (url == null) {
            // attempt to load from the system classpath
            url = ClassLoader.getSystemResource(resourceName);
        }
        if (url == null) {
            // attempt to load from the system classpath
            url = RestClient.class.getResource(resourceName);
        }
        if (url == null) {
            // attempt to load from the system classpath
            url = RestClient.class.getClassLoader().getResource(resourceName);
        }
        if (url == null) {
            try {
                resourceName = URLDecoder.decode(resourceName, "UTF-8");
                url = (new File(resourceName)).toURI().toURL();
            } catch (Exception e) {
            	logger.error("Problem loading resource", e);
            }
        }
        return url;
    }
A client that is essentially a wrapper around Jersey client. By default, it uses HttpClient for underlying HTTP communication.
Application can set its own Jersey client with this class, but doing so will void all client configurations set in {@link IClientConfig}.

@deprecated Please see ribbon-rxnetty module for the Netty based client. 

@author awang
ribbon-httpclient/src/main/java/com/netflix/niws/client/http/RestClient.java