protected String getPostContent(HttpServletRequest request, Map<String,FormDataItem> formItems) throws ContentTypes.InvalidContentTypeException, IOException { String content = null; ContentTypes.checkContentTypes(ALLOWED_CONTENT_TYPES, request.getContentType()); if (formParser.isMultipartContent(request)) { for (FormDataItem item : formParser.parse(request)) { if (item.isFormField() && REQUEST_PARAM.equals(item.getFieldName()) && content == null) { // As per spec, in case of a multipart/form-data content, there will be one form field // with field name as "request". It will contain the json request. Any further form // field or file item will not be parsed out, but will be exposed via getFormItem // method of RequestItem. if (!Strings.isNullOrEmpty(item.getContentType())) { ContentTypes.checkContentTypes(ContentTypes.ALLOWED_JSON_CONTENT_TYPES, item.getContentType()); } content = item.getAsString(); } else { formItems.put(item.getFieldName(), item); } } } else { content = IOUtils.toString(request.getInputStream(), request.getCharacterEncoding()); } return content; }
protected String getPostContent(HttpServletRequest request, Map<String,FormDataItem> formItems) throws ContentTypes.InvalidContentTypeException, IOException { String content = null; ContentTypes.checkContentTypes(ALLOWED_CONTENT_TYPES, request.getContentType()); if (formParser.isMultipartContent(request)) { for (FormDataItem item : formParser.parse(request)) { if (item.isFormField() && REQUEST_PARAM.equals(item.getFieldName()) && content == null) { // As per spec, in case of a multipart/form-data content, there will be one form field // with field name as "request". It will contain the json request. Any further form // field or file item will not be parsed out, but will be exposed via getFormItem // method of RequestItem. if (!StringUtils.isEmpty(item.getContentType())) { ContentTypes.checkContentTypes(ContentTypes.ALLOWED_JSON_CONTENT_TYPES, item.getContentType()); } content = item.getAsString(); } else { formItems.put(item.getFieldName(), item); } } } else { content = IOUtils.toString(request.getInputStream(), request.getCharacterEncoding()); } return content; }
protected String getPostContent(HttpServletRequest request, Map<String,FormDataItem> formItems) throws ContentTypes.InvalidContentTypeException, IOException { String content = null; ContentTypes.checkContentTypes(ALLOWED_CONTENT_TYPES, request.getContentType()); if (formParser.isMultipartContent(request)) { for (FormDataItem item : formParser.parse(request)) { if (item.isFormField() && REQUEST_PARAM.equals(item.getFieldName()) && content == null) { // As per spec, in case of a multipart/form-data content, there will be one form field // with field name as "request". It will contain the json request. Any further form // field or file item will not be parsed out, but will be exposed via getFormItem // method of RequestItem. if (!Strings.isNullOrEmpty(item.getContentType())) { ContentTypes.checkContentTypes(ContentTypes.ALLOWED_JSON_CONTENT_TYPES, item.getContentType()); } content = item.getAsString(); } else { formItems.put(item.getFieldName(), item); } } } else { content = IOUtils.toString(request.getInputStream(), request.getCharacterEncoding()); } return content; }
protected String getPostContent(HttpServletRequest request, Map<String,FormDataItem> formItems) throws ContentTypes.InvalidContentTypeException, IOException { String content = null; ContentTypes.checkContentTypes(ALLOWED_CONTENT_TYPES, request.getContentType()); if (formParser.isMultipartContent(request)) { for (FormDataItem item : formParser.parse(request)) { if (item.isFormField() && REQUEST_PARAM.equals(item.getFieldName()) && content == null) { // As per spec, in case of a multipart/form-data content, there will be one form field // with field name as "request". It will contain the json request. Any further form // field or file item will not be parsed out, but will be exposed via getFormItem // method of RequestItem. if (!StringUtils.isEmpty(item.getContentType())) { ContentTypes.checkContentTypes(ContentTypes.ALLOWED_JSON_CONTENT_TYPES, item.getContentType()); } content = item.getAsString(); } else { formItems.put(item.getFieldName(), item); } } } else { content = IOUtils.toString(request.getInputStream(), request.getCharacterEncoding()); } return content; }
protected String getPostContent(HttpServletRequest request, Map<String,FormDataItem> formItems) throws ContentTypes.InvalidContentTypeException, IOException { String content = null; ContentTypes.checkContentTypes(ALLOWED_CONTENT_TYPES, request.getContentType()); if (formParser.isMultipartContent(request)) { for (FormDataItem item : formParser.parse(request)) { if (item.isFormField() && REQUEST_PARAM.equals(item.getFieldName()) && content == null) { // As per spec, in case of a multipart/form-data content, there will be one form field // with field name as "request". It will contain the json request. Any further form // field or file item will not be parsed out, but will be exposed via getFormItem // method of RequestItem. if (!Strings.isNullOrEmpty(item.getContentType())) { ContentTypes.checkContentTypes(ContentTypes.ALLOWED_JSON_CONTENT_TYPES, item.getContentType()); } content = item.getAsString(); } else { formItems.put(item.getFieldName(), item); } } } else { content = IOUtils.toString(request.getInputStream(), request.getCharacterEncoding()); } return content; }
/** * Test that requests must be both POST and have a multipart * content type. */ @Test public void testIsMultipartContent() { FakeHttpServletRequest request = new FakeHttpServletRequest(); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setMethod("POST"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setContentType("multipart/form-data"); assertTrue(multipartFormParser.isMultipartContent(request)); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); }
/** * Test that requests must be both POST and have a multipart * content type. */ @Test public void testIsMultipartContent() { FakeHttpServletRequest request = new FakeHttpServletRequest(); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setMethod("POST"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setContentType("multipart/form-data"); assertTrue(multipartFormParser.isMultipartContent(request)); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); }
/** * Test that requests must be both POST and have a multipart * content type. */ @Test public void testIsMultipartContent() { FakeHttpServletRequest request = new FakeHttpServletRequest(); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setMethod("POST"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setContentType("multipart/form-data"); assertTrue(multipartFormParser.isMultipartContent(request)); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); }
/** * Test that requests must be both POST and have a multipart * content type. */ @Test public void testIsMultipartContent() { FakeHttpServletRequest request = new FakeHttpServletRequest(); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setMethod("POST"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setContentType("multipart/form-data"); assertTrue(multipartFormParser.isMultipartContent(request)); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); }
/** * Test that requests must be both POST and have a multipart * content type. */ @Test public void testIsMultipartContent() { FakeHttpServletRequest request = new FakeHttpServletRequest(); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setMethod("POST"); assertFalse(multipartFormParser.isMultipartContent(request)); request.setContentType("multipart/form-data"); assertTrue(multipartFormParser.isMultipartContent(request)); request.setMethod("GET"); assertFalse(multipartFormParser.isMultipartContent(request)); }
formItems.add(mockFormDataItem("request", "application/octet-stream", request.getBytes(), true)); expect(multipartFormParser.isMultipartContent(req)).andReturn(true); expect(multipartFormParser.parse(req)).andReturn(formItems); expect(res.getWriter()).andReturn(writer);
formItems.add(mockFormDataItem("oauth_signature", "application/octet-stream", "oauth_signature".getBytes(), true)); expect(multipartFormParser.isMultipartContent(req)).andReturn(true); expect(multipartFormParser.parse(req)).andReturn(formItems); expect(res.getWriter()).andReturn(writer);
ContentTypes.OUTPUT_JSON_CONTENT_TYPE, request.getBytes(), true)); formItems.add(mockFormDataItem(IMAGE_FIELDNAME, IMAGE_TYPE, IMAGE_DATA_BYTES, false)); expect(multipartFormParser.isMultipartContent(req)).andReturn(true); expect(multipartFormParser.parse(req)).andReturn(formItems); expect(res.getWriter()).andReturn(writer);
ContentTypes.OUTPUT_JSON_CONTENT_TYPE, request.getBytes(), true)); formItems.add(mockFormDataItem(IMAGE_FIELDNAME, IMAGE_TYPE, IMAGE_DATA_BYTES, false)); expect(multipartFormParser.isMultipartContent(req)).andReturn(true); expect(multipartFormParser.parse(req)).andReturn(formItems); expect(res.getWriter()).andReturn(writer);
ContentTypes.OUTPUT_JSON_CONTENT_TYPE, request.getBytes(), true)); formItems.add(mockFormDataItem(IMAGE_FIELDNAME, IMAGE_TYPE, IMAGE_DATA_BYTES, false)); expect(multipartFormParser.isMultipartContent(req)).andReturn(true); expect(multipartFormParser.parse(req)).andReturn(formItems); expect(res.getWriter()).andReturn(writer);
@Before public void setUp() throws Exception { servlet = new JsonRpcServlet(); req = mockControl.createMock(HttpServletRequest.class); res = mockControl.createMock(HttpServletResponse.class); containerConfig = mockControl.createMock(ContainerConfig.class); multipartFormParser = mockControl.createMock(MultipartFormParser.class); EasyMock.expect(multipartFormParser.isMultipartContent(req)).andStubReturn(false); servlet.setMultipartFormParser(multipartFormParser); BeanJsonConverter converter = new BeanJsonConverter(Guice.createInjector()); HandlerRegistry registry = new DefaultHandlerRegistry(null, null, new HandlerExecutionListener.NoOpHandler()); registry.addHandlers(Collections.<Object>singleton(handler)); servlet.setHandlerRegistry(registry); servlet.setBeanConverters(converter, null, null); servlet.setContainerConfig(containerConfig); handler.setMock(new TestHandler() { @Override public Object get(RequestItem req) { return ImmutableMap.of("foo", "bar"); } }); }
@Before public void setUp() throws Exception { servlet = new JsonRpcServlet(); req = mockControl.createMock(HttpServletRequest.class); res = mockControl.createMock(HttpServletResponse.class); containerConfig = mockControl.createMock(ContainerConfig.class); multipartFormParser = mockControl.createMock(MultipartFormParser.class); EasyMock.expect(multipartFormParser.isMultipartContent(req)).andStubReturn(false); servlet.setMultipartFormParser(multipartFormParser); BeanJsonConverter converter = new BeanJsonConverter(Guice.createInjector()); HandlerRegistry registry = new DefaultHandlerRegistry(null, null, new HandlerExecutionListener.NoOpHandler()); registry.addHandlers(Collections.<Object>singleton(handler)); servlet.setHandlerRegistry(registry); servlet.setBeanConverters(converter, null, null); servlet.setContainerConfig(containerConfig); handler.setMock(new TestHandler() { @Override public Object get(RequestItem req) { return ImmutableMap.of("foo", "bar"); } }); }
@Before public void setUp() throws Exception { servlet = new JsonRpcServlet(); req = mockControl.createMock(HttpServletRequest.class); res = mockControl.createMock(HttpServletResponse.class); containerConfig = mockControl.createMock(ContainerConfig.class); multipartFormParser = mockControl.createMock(MultipartFormParser.class); EasyMock.expect(multipartFormParser.isMultipartContent(req)).andStubReturn(false); servlet.setMultipartFormParser(multipartFormParser); BeanJsonConverter converter = new BeanJsonConverter(Guice.createInjector()); HandlerRegistry registry = new DefaultHandlerRegistry(null, null, new HandlerExecutionListener.NoOpHandler()); registry.addHandlers(Collections.<Object>singleton(handler)); servlet.setHandlerRegistry(registry); servlet.setBeanConverters(converter, null, null); servlet.setContainerConfig(containerConfig); servlet.setJSONPAllowed(true); handler.setMock(new TestHandler() { @Override public Object get(RequestItem req) { return ImmutableMap.of("foo", "bar"); } }); }
@Before public void setUp() throws Exception { servlet = new JsonRpcServlet(); req = mockControl.createMock(HttpServletRequest.class); res = mockControl.createMock(HttpServletResponse.class); containerConfig = mockControl.createMock(ContainerConfig.class); multipartFormParser = mockControl.createMock(MultipartFormParser.class); EasyMock.expect(multipartFormParser.isMultipartContent(req)).andStubReturn(false); servlet.setMultipartFormParser(multipartFormParser); BeanJsonConverter converter = new BeanJsonConverter(Guice.createInjector()); HandlerRegistry registry = new DefaultHandlerRegistry(null, null, new HandlerExecutionListener.NoOpHandler()); registry.addHandlers(Collections.<Object>singleton(handler)); servlet.setHandlerRegistry(registry); servlet.setBeanConverters(converter, null, null); servlet.setContainerConfig(containerConfig); servlet.setJSONPAllowed(true); handler.setMock(new TestHandler() { @Override public Object get(RequestItem req) { return ImmutableMap.of("foo", "bar"); } }); }
@Before public void setUp() throws Exception { servlet = new JsonRpcServlet(); req = mockControl.createMock(HttpServletRequest.class); res = mockControl.createMock(HttpServletResponse.class); containerConfig = mockControl.createMock(ContainerConfig.class); multipartFormParser = mockControl.createMock(MultipartFormParser.class); EasyMock.expect(multipartFormParser.isMultipartContent(req)).andStubReturn(false); servlet.setMultipartFormParser(multipartFormParser); BeanJsonConverter converter = new BeanJsonConverter(Guice.createInjector()); HandlerRegistry registry = new DefaultHandlerRegistry(null, null, new HandlerExecutionListener.NoOpHandler()); registry.addHandlers(Collections.<Object>singleton(handler)); servlet.setHandlerRegistry(registry); servlet.setBeanConverters(converter, null, null); servlet.setContainerConfig(containerConfig); servlet.setJSONPAllowed(true); handler.setMock(new TestHandler() { @Override public Object get(RequestItem req) { return ImmutableMap.of("foo", "bar"); } }); }