package net.gnehzr.tnoodle.server;
import java.util.LinkedHashMap;
import javax.servlet.RequestDispatcher;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@SuppressWarnings("serial")
public class MarkdownServlet extends SafeHttpServlet {
@Override
protected void wrappedService(HttpServletRequest request,
HttpServletResponse response, String[] path,
LinkedHashMap<String, String> query) throws Exception {
RequestDispatcher rd = getServletContext().getNamedDispatcher("default");
GenericResponseWrapper wrapper = new GenericResponseWrapper(response);
rd.include(request, wrapper);
byte[] data = wrapper.getData();
if(data.length == 0) {
// We can't distinguish between an empty file, and a 404. This is
// because WinstonseResponse only actually sets an error code if
// isIncluding == false.
response.sendError(HttpServletResponse.SC_NOT_FOUND, "File " + request.getRequestURI() + " not found");
return;
}
sendMarkdown(request, response, new String(data));
}
}