@Override
	protected boolean finishTask() throws Throwable
	{
		URL url = ParseHelper.asURL(this.getAddress());
		
		if (url == null)
		{
			this.response = 404;
			
			return true;
		}
		
		URLConnection con = url.openConnection();
		HttpURLConnection http = (con instanceof HttpURLConnection) ? (HttpURLConnection)con : null;
		
		con.setConnectTimeout(this.connectTimeout);
		con.setReadTimeout(this.readTimeout);
		
		for (Pair<String> prop : this.props)
		{
			con.setRequestProperty(prop.one, prop.two);
			
		}
		
		if (http != null)
		{
			http.setInstanceFollowRedirects(this.followRedirect);
			
		}
		
		con.connect();
		
		if (http != null)
		{
			this.response = http.getResponseCode();
			
		}
		
		if (con.getDoInput())
		{
			ByteStreams s = new ByteStreams(con.getInputStream());
			
			this.result = s.readAll();
			
			s.close();
			
		}
		
		return true;
	}