@Override
	public void handle(HttpRequest request, HttpResponse response, HttpContext context)
			throws HttpException, IOException {
		String method = request.getRequestLine().getMethod()
				.toUpperCase(Locale.ENGLISH);
		if (!method.equals("GET") && !method.equals("HEAD")
				&& !method.equals("POST")) {
			throw new MethodNotSupportedException(method
					+ " method not supported");
		}
		String sse = "retry: 500\ndata:";
		for (JobInfo job : progressJobs) {
			try {
				JobProgress prog = (JobProgress) job.progress.invoke(job.O);
				String html = HTMLCompiler.compileObjectToPage(prog).renderHTML();
				html = html.replace("\n", "\ndata:");
				sse += html;
			} catch (IllegalAccessException | IllegalArgumentException
					| InvocationTargetException e) {
				Session.logger.error("Couldn't request progress!", e);
			}
		}
		if(progressJobs.isEmpty())
			sse += "Currently no Jobs!";
		sse += "\n\n";
		response.setStatusCode(200);
		response.setEntity(new StringEntity(sse, ContentType.parse("text/event-stream")));
	}