package com.corejsf;

import java.io.IOException;
import java.io.OutputStream;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class BinaryServlet extends HttpServlet {
   protected void processRequest(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      HttpSession session = request.getSession();
      String id = request.getParameter("id");
      BinaryData data = (BinaryData) session.getAttribute(id);
            
      response.setContentType(data.getContentType());
      OutputStream out = response.getOutputStream();
      data.write(out);
      out.close();
   }
   
   protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
      processRequest(request, response);
   }
   
   protected void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
      processRequest(request, response);
   }
}
