/*

 * NameServlet.java - a sample servlet for "member.name" version 2.0.

 * John Neffenger <john@volano.com>

 */



package COM.volano;

import  java.io.*;

import  java.net.*;

import  java.util.*;

import  javax.servlet.*;

import  javax.servlet.http.*;



/**

 * This servlet checks whether a name is reserved by a member using the original

 * 2.0 format of the "member.name" script.

 *

 * @version 30 April 1999

 * @author  John Neffenger

 */



public class NameServlet extends AccessServlet {



  /**

   * Called when an HTTP GET request is received for this servlet.

   *

   * @param req encapsulates the request to the servlet.

   * @param res encapsulates the response from the servlet.

   * @exception javax.servlet.ServletException if a servlet error occurs.

   * @exception java.io.IOException if an I/O error occurs.

   */



  public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {

    res.setContentType("text/plain");

    ServletOutputStream out = res.getOutputStream();

    String name = req.getParameter("name");

    if (name == null || name.length() == 0) {

      out.println(ERROR);		// No name given

      out.println("Missing \"name\" parameter");

    }

    else {



      // Here is where you would do a lookup in the real database.  We simply

      // access the in-memory database as an example here.



      String memberName = URLEncoder.encode(name.toLowerCase());

      if (database.containsKey(memberName))

        out.println(TRUE);	// Member name is taken

      else

        out.println(FALSE);	// Member name not defined

    }

    out.println(SUFFIX);

  }

}

