@Override public ServletInputStream getInputStream() { if (this.inputStream != null) { return this.inputStream; } else if (this.reader != null) { throw new IllegalStateException( "Cannot call getInputStream() after getReader() has already been called for the current request") ; } this.inputStream = (this.content != null ? new DelegatingServletInputStream(new ByteArrayInputStream(this.content)) : EMPTY_SERVLET_INPUT_STREAM); return this.inputStream; }
public void testReadOpPost() throws Exception { MockHttpServletRequest request = new MockHttpServletRequest(); request.setContextPath("/geoserver"); request.setRequestURI("/geoserver/hello"); request.setMethod("post"); String body = "<Hello service=\"hello\"/>"; DelegatingServletInputStream input = new DelegatingServletInputStream(new ByteArrayInputStream(body.getBytes())); Dispatcher dispatcher = new Dispatcher(); BufferedReader buffered = new BufferedReader(new InputStreamReader(input)); buffered.mark(2048); Map map = dispatcher.readOpPost(buffered); assertNotNull(map); assertEquals("Hello", map.get("request")); assertEquals("hello", map.get("service")); }
@Override public ServletInputStream getInputStream() { if (this.content != null) { return new DelegatingServletInputStream(new ByteArrayInputStream(this.content)); } else { return EMPTY_SERVLET_INPUT_STREAM; } }
@Override public ServletInputStream getInputStream() { if (this.inputStream != null) { return this.inputStream; } else if (this.reader != null) { throw new IllegalStateException( "Cannot call getInputStream() after getReader() has already been called for the current request") ; } this.inputStream = (this.content != null ? new DelegatingServletInputStream(new ByteArrayInputStream(this.content)) : EMPTY_SERVLET_INPUT_STREAM); return this.inputStream; }
@Test public void testInputStreamMaxSizeZero() throws Exception { byte[] data = data(); DelegatingServletInputStream mock = new DelegatingServletInputStream(new ByteArrayInputStream(data)); MonitorInputStream in = new MonitorInputStream(mock, 0); byte[] read = read(in); assertEquals(data.length, read.length); byte[] buffer = in.getData(); assertEquals(0, buffer.length); // ? why does this report 1 off ? assertEquals(data.length - 1, in.getBytesRead()); }
@Test public void testInputStream() throws Exception { byte[] data = data(); DelegatingServletInputStream mock = new DelegatingServletInputStream(new ByteArrayInputStream(data)); MonitorInputStream in = new MonitorInputStream(mock, 1024); byte[] read = read(in); assertEquals(data.length, read.length); byte[] buffer = in.getData(); assertEquals(1024, buffer.length); for (int i = 0; i < buffer.length; i++) { assertEquals(data[i], buffer[i]); } // ? why does this report 1 off ? assertEquals(data.length - 1, in.getBytesRead()); }