package page.tools.stats;

import org.wikiwebserver.core.WareHouse;
import org.wikiwebserver.handler.http.HTTPException;
import org.wikiwebserver.handler.http.interfaces.HTTPResponder;

import page.config.SiteTemplatedPage;

import static org.wikiwebserver.html.HTMLHelper.*;


public class LiveLogPage extends SiteTemplatedPage implements HTTPResponder {
	
    public void generate() throws HTTPException {
    	
    	String logName = null;
    	if (getFormData() != null) {
    		logName = getFormData().getFirst("logName");
    	}
    	// Default
    	if (logName == null) logName = "requests";    	
        
        setTitle("Live Logs - WikiWebServer.org");
        
        append(h(1, "Live Logs"));
        
        String src = WareHouse.getUrlPathForClass(LiveLog.class) + "?logName=" + logName;
        
        append(h(2, "Log type: " + WareHouse.escapeHTMLEntities(logName)));
        append(getLogFrame(src, 500));
        
        append(p(a(src, "Basic mode")));
        
        String[] links = { 
        	a("?logName=requests", "requests"),
			a("?logName=exceptions", "exceptions"),
			a("?logName=security", "security")
        };
        
        append(p("Log types [ " + links[0] + " | " + links[1] + " | " + links[2] + " ]"));
    }
    

    private String getLogFrame(String src, int height) {
        return "<iframe src='" + WareHouse.escapeHTMLEntities(src) + 
               "' width='100%' height='" + height + "' scrolling='yes' frameborder='0'></iframe>";
    }    
}
