import java.io.*;
import java.net.*;
import static java.lang.System.*;

public class HTTPLogReader {

	public static void main(String[] args) throws Exception {
		if(args.length==0) {
			out.println("HTTPLogReader written 2009 in Berlin by Sven Killig <sven@killig.de>");
			out.println("Usage: java HTTPLogReader <URL>");
			exit(-1);
		}
		URL u=new URL(args[0]);
		HttpURLConnection c;
		int oldL=0;
		boolean firstRun=true;
		while(true) {
			c=(HttpURLConnection)u.openConnection();
			c.setUseCaches(false);
			c.setRequestMethod("HEAD");
			c.connect();
			if(c.getHeaderField("accept-ranges").toLowerCase().indexOf("bytes")<0) {
				out.println("Server doesn't accept-ranges!");
				exit(-1);
			}
			int l=Integer.parseInt(c.getHeaderField("content-length"));
			if(firstRun) {
				firstRun=false;
				out.println("Size: "+l+" bytes");
				oldL=l;
			}
			if(oldL!=l) {
				c=(HttpURLConnection) u.openConnection();
				c.setUseCaches(false);
				c.setRequestProperty("range", "bytes=-"+(l-oldL));
				c.connect();
				BufferedReader in=new BufferedReader(new InputStreamReader(c.getInputStream()));
				String inputLine;
				while((inputLine=in.readLine())!=null) out.println(inputLine);
				in.close();
				oldL=l;
			}
			Thread.sleep(1000);
		}
	}
}
