package dk.thoerup.spejdernetscraper; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class DefaultServlet */ @WebServlet({ "/DefaultServlet", "/", "/start", "/log" }) public class DefaultServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public DefaultServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String origin = request.getHeader("Origin"); response.setHeader("Access-Control-Allow-Origin", origin); //Allow ajax calls from everywhere //response.setHeader("Access-Control-Allow-Origin", "http://horsensspejder.t-hoerup.dk");//Allow ajax calls from http://horsensspejder.t-hoerup.dk if ( request.getServletPath().equals("/start") ) { Thread t = new Thread( new ScraperWorker() ); t.start(); response.setContentType("text/plain"); response.getWriter().print( "OK" ); } else if (request.getServletPath().equals("/log") ) { ResultBuffer sb = ResultBuffer.getResultBuffer(); response.setContentType("text/plain"); response.getWriter().print( sb.getString() ); } else if (request.getServletPath().equals("/saldo") ) { OKMobilSaldo saldo = new OKMobilSaldo(); String currentSaldo = saldo.hentSaldo(); response.setContentType("text/plain"); response.getWriter().print( currentSaldo ); } else if (request.getServletPath().equals("/imdb") ) { String sid = request.getParameter("sid"); String tmpSeason = request.getParameter("season"); String tmpEpisode = request.getParameter("episode"); try { int season = Integer.parseInt(tmpSeason); int episode = Integer.parseInt(tmpEpisode); IMDBSeriesScraper imdb = new IMDBSeriesScraper(); String title = imdb.fechTitle(sid, season, episode); response.setContentType("text/plain"); response.getWriter().print( title ); } catch (Exception e) { response.sendError(500, e.getClass().getName() + ": " + e.getMessage()); } } else { RequestDispatcher rd = request.getRequestDispatcher("default.jsp"); rd.forward(request, response); } } }