package com.oreilly.demo.android.pa.clientserver.server.servlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.oreilly.demo.android.pa.clientserver.server.ServerStatic; import com.oreilly.demo.android.pa.clientserver.server.dataobjects.User; public class DeleteFriendServlet extends BaseServlet { private static final long serialVersionUID = -5821144577448449223L; @Override protected void response(HttpServletRequest req, HttpServletResponse res) { if(res == null) return; if(ServerStatic.getConfig().getUserData() == null) { res.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); res.setContentLength(0); return; } String authtoken = req.getParameter("token"); String idstr = req.getParameter("id"); if(authtoken == null || idstr == null) { res.setStatus(HttpServletResponse.SC_FORBIDDEN); res.setContentLength(0); return; } User user = ServerStatic.getConfig().getUserData().getUserByToken(authtoken); if(user == null) { res.setStatus(HttpServletResponse.SC_FORBIDDEN); res.setContentLength(0); return; } int id = 0; try { id = Integer.parseInt(idstr); } catch (Exception e) { res.setStatus(HttpServletResponse.SC_FORBIDDEN); res.setContentLength(0); return; } user.deleteFriend(id); try { ServerStatic.getConfig().getUserData().saveData(); } catch (Exception e) { e.printStackTrace(); } res.setStatus(HttpServletResponse.SC_OK); try { byte[] b = "{}".getBytes(); res.getOutputStream().write(b); res.setContentLength(b.length); } catch (Throwable t) { res.setContentLength(0); } } @Override public String getPath() { return "/deletefriend/*"; } }