/* * Copyright (C) 2014 Intel Corporation * All rights reserved. */ package com.intel.mountwilson.util; import java.io.IOException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.ServletException; import javax.servlet.http.HttpSession; /** * @author jbuhacoff */ public class V2Proxy extends HttpServlet { private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(V2Proxy.class); protected void proxy(HttpServletRequest request, HttpServletResponse response) { try { HttpSession session = request.getSession(); if( session.getAttribute("logged-in") == null || !(boolean)session.getAttribute("logged-in") ) { response.setStatus(401); return; } ProxyApiClient client = (ProxyApiClient) session.getAttribute("api-object"); client.proxy(request, response); } catch (Exception e) { log.error("V2Proxy error", e); response.setStatus(500); } } @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { proxy(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { proxy(request, response); } @Override protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { proxy(request, response); } @Override protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { proxy(request, response); } /* @Override protected void doOptions(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { proxy(request, response); } @Override protected void doHead(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { proxy(request, response); } @Override protected void doTrace(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { proxy(request, response); } */ }