/* * Copyright (C) Epic Games, Inc. All Rights Reserved. */ package com.epicgames.replayserver; import java.io.IOException; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.List; import java.util.logging.Level; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class Index extends HttpServlet { private static final long serialVersionUID = 1L; public Index() { } protected void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException { try { final long startTime = System.currentTimeMillis(); if ( request.getSession().isNew() ) { ReplayLogger.log( Level.INFO, "New connection: " + request.getRemoteAddr() + ":" + request.getRemotePort() ); } final String refresh = request.getParameter( "Refresh" ); response.setContentType( "text/html" ); response.setStatus( HttpServletResponse.SC_OK ); response.getWriter().println( "
| App | "); response.getWriter().println( "Version | "); response.getWriter().println( "CL | "); response.getWriter().println( "Session | "); response.getWriter().println( "Name | "); response.getWriter().println( "Date | "); response.getWriter().println( "Viewers | "); response.getWriter().println( "Size | "); response.getWriter().println( "Length | "); response.getWriter().println( "Status | "); response.getWriter().println( ""); // Loop over all of the sessions and fill the table final List< ReplaySessionInfo > sessions = ReplayDB.discoverSessions( null, 0, 0, null, null, refresh != null ? 10 : 0 ); response.getWriter().println( " |
| " + sessionEntry.appName + " | " ); response.getWriter().println( "" + (long)(sessionEntry.version & 0x00000000ffffffffL ) + " | " ); response.getWriter().println( "" + (long)(sessionEntry.changelist & 0x00000000ffffffffL ) + " | " ); response.getWriter().println( "" + sessionEntry.sessionName + " | " ); response.getWriter().println( "" + sessionEntry.friendlyName + " | " ); response.getWriter().println( "" + DateString + " | " ); response.getWriter().println( "" + sessionEntry.numViewers + " | " ); response.getWriter().println( "" + SizeString + " | " ); response.getWriter().println( "" + demoTimeString + " | " ); response.getWriter().println( "" + LiveString + " | " ); response.getWriter().println( "" );
if ( !sessionEntry.bIsLive )
{
final String attributes = "?Session=" + sessionEntry.sessionName;
response.getWriter().println( "DELETE " ); } response.getWriter().println( " | " );
response.getWriter().println( "
Request took " + totalTime + " ms
" ); } catch ( Exception e ) { ReplayLogger.log( "Index. Exception: " + e.getMessage() ); e.printStackTrace(); response.sendError( HttpServletResponse.SC_BAD_REQUEST ); } } }