package yoonforh.bbs;

/**
 * PostServlet.java
 * Copyright (c) 1997 Yoon Kyung Koo. All rights reserved.
 *
 * contact via yoonforh@moon.daewoo.co.kr
 *
 * first release date 1997/10/07
 * @version 1.01 1997/10/17
 * @author Yoon Kyung Koo
 */


import java.io.*;
import java.util.*;
import java.net.*;

import javax.servlet.*;
import javax.servlet.http.*;

// import sun.security.x509.*;

/**
 * PostServlet class
 */
public class PostServlet 
		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
    {
		int replyNo = -1;

		res.setContentType("text/html");
		ServletOutputStream out = res.getOutputStream();

		String category=req.getParameter("cate");

		String replyTo=req.getParameter("replyto");
		try {
			replyNo=(replyTo==null?-1:Integer.parseInt(replyTo));
		} catch (NumberFormatException nfe) {}

		BBSUtil.printPostHeader(out);
		BBSUtil.printPostChallenge(out, category, replyNo);
		BBSUtil.printPostFooter(out, category);
    }

    public String getServletInfo() {
		return "A servlet that displays forms to post an article";
    }
}
