package me.smartproxy.tunnel.httpconnect;

import java.net.InetSocketAddress;

import android.net.Uri;
import me.smartproxy.tunnel.Config;

public class HttpConnectConfig extends Config {
	public String UserName;
	public String Password;
	
	public static HttpConnectConfig parse(String proxyInfo){
		HttpConnectConfig config=new HttpConnectConfig();
	    Uri uri=Uri.parse(proxyInfo);
	    String userInfoString=uri.getUserInfo();
	    if(userInfoString!=null){
	    	String[] userStrings=userInfoString.split(":");
	    	config.UserName=userStrings[0];
	    	if(userStrings.length>=2){
	    		config.Password=userStrings[1];
	    	}
	    }
	    config.ServerAddress=new InetSocketAddress(uri.getHost(), uri.getPort());
	    return config;
	}
	
	@Override
	public boolean equals(Object o) {
		 if(o==null)
			 return false;
		 return this.toString().equals(o.toString());
	}
	
	@Override
	public String toString() {
		return String.format("http://%s:%s@%s", UserName,Password,ServerAddress);
	}
}