package yoonforh.bbs;

/**
 * Print Servlet
 * Copyright (c) 1997 Yoon Kyung Koo. All rights reserved.
 *
 * contact via yoonforh@interpia.net
 *
 * first release date 1997/10/07
 * @version 1.01 1997/10/17
 * @author Yoon Kyung Koo
 */


import java.io.*;
import java.util.*;

import javax.servlet.*;
import javax.servlet.http.*;

public class PrintServlet 
		extends HttpServlet {

	public void doPost (HttpServletRequest req, HttpServletResponse res)
		throws ServletException, IOException
	{
        //value chosen to limit denial of service
        if (req.getContentLength() > 8*1024) {  
	    res.setContentType("text/html");
            ServletOutputStream out = res.getOutputStream();
	    out.println("<html><head><title>Too big</title></head>");
	    out.println("<body><h1>Error - content length &gt;8k not ");
	    out.println("</h1></body></html>");
        } else {
	    doGet(req, res);
        }
    }
    
    public void doGet (HttpServletRequest req, HttpServletResponse res)
	throws ServletException, IOException
    {
		res.setContentType("text/html");
		ServletOutputStream out = res.getOutputStream();
		String category=req.getParameter("cate");
		int articleNo=-1;
		try {
			articleNo=Integer.parseInt(req.getParameter("number"));
		} catch (NumberFormatException nfe) {}
		BBSData data=BBSUtil.readData(category, articleNo);
		BBSUtil.printArticleHeader(out, category, data.articleNo);
		BBSUtil.printArticle(out, category, data);
		BBSUtil.printArticleFooter(out, category, data.articleNo);
    }

    public String getServletInfo() {
		return "A servlet that shows the requested article on the web board";
    }
}
