@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (!HttpServer2.isInstrumentationAccessAllowed(getServletContext(), request, response)) { return; } String format = parseAcceptHeader(request); if (FORMAT_XML.equals(format)) { response.setContentType("text/xml; charset=utf-8"); } else if (FORMAT_JSON.equals(format)) { response.setContentType("application/json; charset=utf-8"); } String name = request.getParameter("name"); Writer out = response.getWriter(); try { writeResponse(getConfFromContext(), out, format, name); } catch (BadFormatException bfe) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, bfe.getMessage()); } catch (IllegalArgumentException iae) { response.sendError(HttpServletResponse.SC_NOT_FOUND, iae.getMessage()); } out.close(); }
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (!HttpServer2.isInstrumentationAccessAllowed(getServletContext(), request, response)) { return; } String format = request.getParameter(FORMAT_PARAM); if (null == format) { format = FORMAT_XML; } if (FORMAT_XML.equals(format)) { response.setContentType("text/xml; charset=utf-8"); } else if (FORMAT_JSON.equals(format)) { response.setContentType("application/json; charset=utf-8"); } Writer out = response.getWriter(); try { writeResponse(getConfFromContext(), out, format); } catch (BadFormatException bfe) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, bfe.getMessage()); } out.close(); }
static void writeResponse(Configuration conf, Writer out, String format) throws IOException, BadFormatException { writeResponse(conf, out, format, null); }
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String format = request.getParameter(FORMAT_PARAM); if (null == format) { format = FORMAT_XML; } if (FORMAT_XML.equals(format)) { response.setContentType("text/xml"); } else if (FORMAT_JSON.equals(format)) { response.setContentType("text/javascript"); } OutputStreamWriter out = new OutputStreamWriter(response.getOutputStream()); try { writeResponse(getConfFromContext(), out, format); } catch (BadFormatException bfe) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, bfe.getMessage()); } out.close(); }
/** * Return the Configuration of the daemon hosting this servlet. * This is populated when the HttpServer starts. */ private Configuration getConfFromContext() { Configuration conf = (Configuration)getServletContext().getAttribute( HttpServer2.CONF_CONTEXT_ATTRIBUTE); assert conf != null; return conf; }
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (!HttpServer2.isInstrumentationAccessAllowed(getServletContext(), request, response)) { return; } String format = request.getParameter(FORMAT_PARAM); if (null == format) { format = FORMAT_XML; } if (FORMAT_XML.equals(format)) { response.setContentType("text/xml; charset=utf-8"); } else if (FORMAT_JSON.equals(format)) { response.setContentType("application/json; charset=utf-8"); } Writer out = response.getWriter(); try { writeResponse(getConfFromContext(), out, format); } catch (BadFormatException bfe) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, bfe.getMessage()); } out.close(); }
@Test public void testWriteXml() throws Exception { StringWriter sw = new StringWriter(); ConfServlet.writeResponse(getTestConf(), sw, "xml"); String xml = sw.toString(); DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = docBuilderFactory.newDocumentBuilder(); Document doc = builder.parse(new InputSource(new StringReader(xml))); NodeList nameNodes = doc.getElementsByTagName("name"); boolean foundSetting = false; for (int i = 0; i < nameNodes.getLength(); i++) { Node nameNode = nameNodes.item(i); String key = nameNode.getTextContent(); System.err.println("xml key: " + key); if (TEST_KEY.equals(key)) { foundSetting = true; Element propertyElem = (Element)nameNode.getParentNode(); String val = propertyElem.getElementsByTagName("value").item(0).getTextContent(); assertEquals(TEST_VAL, val); } } assertTrue(foundSetting); }
/** * Return the Configuration of the daemon hosting this servlet. * This is populated when the HttpServer starts. */ private Configuration getConfFromContext() { Configuration conf = (Configuration)getServletContext().getAttribute( HttpServer2.CONF_CONTEXT_ATTRIBUTE); assert conf != null; return conf; }
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { if (!HttpServer2.isInstrumentationAccessAllowed(getServletContext(), request, response)) { return; } String format = request.getParameter(FORMAT_PARAM); if (null == format) { format = FORMAT_XML; } if (FORMAT_XML.equals(format)) { response.setContentType("text/xml; charset=utf-8"); } else if (FORMAT_JSON.equals(format)) { response.setContentType("application/json; charset=utf-8"); } Writer out = response.getWriter(); try { writeResponse(getConfFromContext(), out, format); } catch (BadFormatException bfe) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, bfe.getMessage()); } out.close(); }
@Test @SuppressWarnings("unchecked") public void testWriteJson() throws Exception { StringWriter sw = new StringWriter(); ConfServlet.writeResponse(getTestConf(), sw, "json"); String json = sw.toString(); boolean foundSetting = false; Object parsed = JSON.parse(json); Object[] properties = ((Map<String, Object[]>)parsed).get("properties"); for (Object o : properties) { Map<String, Object> propertyInfo = (Map<String, Object>)o; String key = (String)propertyInfo.get("key"); String val = (String)propertyInfo.get("value"); String resource = (String)propertyInfo.get("resource"); System.err.println("k: " + key + " v: " + val + " r: " + resource); if (TEST_KEY.equals(key) && TEST_VAL.equals(val) && Configuration.UNKNOWN_RESOURCE.equals(resource)) { foundSetting = true; } } assertTrue(foundSetting); }
/** * Return the Configuration of the daemon hosting this servlet. * This is populated when the HttpServer starts. */ private Configuration getConfFromContext() { Configuration conf = (Configuration)getServletContext().getAttribute( HttpServer2.CONF_CONTEXT_ATTRIBUTE); assert conf != null; return conf; }
@Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // If user is a static user and auth Type is null, that means // there is a non-security environment and no need authorization, // otherwise, do the authorization. final ServletContext servletContext = getServletContext(); if (!HttpServer2.isStaticUserAndNoneAuthType(servletContext, request) && !HttpServer2.isInstrumentationAccessAllowed(servletContext, request, response)) { return; } String format = request.getParameter(FORMAT_PARAM); if (null == format) { format = FORMAT_XML; } if (FORMAT_XML.equals(format)) { response.setContentType("text/xml; charset=utf-8"); } else if (FORMAT_JSON.equals(format)) { response.setContentType("application/json; charset=utf-8"); } Writer out = response.getWriter(); try { writeResponse(getConfFromContext(), out, format); } catch (BadFormatException bfe) { response.sendError(HttpServletResponse.SC_BAD_REQUEST, bfe.getMessage()); } out.close(); }
@Test public void testBadFormat() throws Exception { StringWriter sw = new StringWriter(); try { ConfServlet.writeResponse(getTestConf(), sw, "not a format"); fail("writeResponse with bad format didn't throw!"); } catch (ConfServlet.BadFormatException bfe) { // expected } assertEquals("", sw.toString()); } }
/** * Return the Configuration of the daemon hosting this servlet. * This is populated when the HttpServer starts. */ private Configuration getConfFromContext() { Configuration conf = (Configuration)getServletContext().getAttribute( HttpServer2.CONF_CONTEXT_ATTRIBUTE); assert conf != null; return conf; }
@Test public void testWriteXml() throws Exception { StringWriter sw = new StringWriter(); ConfServlet.writeResponse(getTestConf(), sw, "xml"); String xml = sw.toString(); DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = docBuilderFactory.newDocumentBuilder(); Document doc = builder.parse(new InputSource(new StringReader(xml))); NodeList nameNodes = doc.getElementsByTagName("name"); boolean foundSetting = false; for (int i = 0; i < nameNodes.getLength(); i++) { Node nameNode = nameNodes.item(i); String key = nameNode.getTextContent(); System.err.println("xml key: " + key); if (TEST_KEY.equals(key)) { foundSetting = true; Element propertyElem = (Element)nameNode.getParentNode(); String val = propertyElem.getElementsByTagName("value").item(0).getTextContent(); assertEquals(TEST_VAL, val); } } assertTrue(foundSetting); }
/** * Return the Configuration of the daemon hosting this servlet. * This is populated when the HttpServer starts. */ private Configuration getConfFromContext() { Configuration conf = (Configuration)getServletContext().getAttribute( HttpServer2.CONF_CONTEXT_ATTRIBUTE); assert conf != null; return conf; }
@Test public void testWriteXml() throws Exception { StringWriter sw = new StringWriter(); ConfServlet.writeResponse(getTestConf(), sw, "xml"); String xml = sw.toString(); DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = docBuilderFactory.newDocumentBuilder(); Document doc = builder.parse(new InputSource(new StringReader(xml))); NodeList nameNodes = doc.getElementsByTagName("name"); boolean foundSetting = false; for (int i = 0; i < nameNodes.getLength(); i++) { Node nameNode = nameNodes.item(i); String key = nameNode.getTextContent(); System.err.println("xml key: " + key); if (TEST_KEY.equals(key)) { foundSetting = true; Element propertyElem = (Element)nameNode.getParentNode(); String val = propertyElem.getElementsByTagName("value").item(0).getTextContent(); assertEquals(TEST_VAL, val); } } assertTrue(foundSetting); }
/** * Return the Configuration of the daemon hosting this servlet. * This is populated when the HttpServer starts. */ private Configuration getConfFromContext() { Configuration conf = (Configuration)getServletContext().getAttribute( HttpServer.CONF_CONTEXT_ATTRIBUTE); assert conf != null; return conf; }
@Test @SuppressWarnings("unchecked") public void testWriteJson() throws Exception { StringWriter sw = new StringWriter(); ConfServlet.writeResponse(getTestConf(), sw, "json"); String json = sw.toString(); boolean foundSetting = false; Object parsed = JSON.parse(json); Object[] properties = ((Map<String, Object[]>)parsed).get("properties"); for (Object o : properties) { Map<String, Object> propertyInfo = (Map<String, Object>)o; String key = (String)propertyInfo.get("key"); String val = (String)propertyInfo.get("value"); String resource = (String)propertyInfo.get("resource"); System.err.println("k: " + key + " v: " + val + " r: " + resource); if (TEST_KEY.equals(key) && TEST_VAL.equals(val) && "programatically".equals(resource)) { foundSetting = true; } } assertTrue(foundSetting); }
@Test @SuppressWarnings("unchecked") public void testWriteJson() throws Exception { StringWriter sw = new StringWriter(); ConfServlet.writeResponse(getTestConf(), sw, "json"); String json = sw.toString(); boolean foundSetting = false; Object parsed = JSON.parse(json); Object[] properties = ((Map<String, Object[]>)parsed).get("properties"); for (Object o : properties) { Map<String, Object> propertyInfo = (Map<String, Object>)o; String key = (String)propertyInfo.get("key"); String val = (String)propertyInfo.get("value"); String resource = (String)propertyInfo.get("resource"); System.err.println("k: " + key + " v: " + val + " r: " + resource); if (TEST_KEY.equals(key) && TEST_VAL.equals(val) && "programatically".equals(resource)) { foundSetting = true; } } assertTrue(foundSetting); }