public void handle(String s, Request r, HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException, ServletException { int size = 10 * 1024; if (httpRequest.getContentLength() > 0) { size = httpRequest.getContentLength(); } byte[] bytes = new byte[size]; if (bytes.length > 0) { final int read = httpRequest.getInputStream().read(bytes); httpResponse.getOutputStream().write(bytes, 0, read); } httpResponse.setStatus(200); httpResponse.getOutputStream().flush(); } }
@Override public void close() throws IOException { super.close(); this.sourceStream.close(); }
@Override public int readLine(final byte[] b, final int off, final int len) throws IOException { int count = this.is.readLine(b, off, len); writeToCache(b, off, count); return count; }
@Override protected void checkOnDataAvailable() { if (this.inputStream.isReady() && !this.inputStream.isFinished()) { onDataAvailable(); } }
@Override public void onDataAvailable() throws IOException { Log.trace("Data is available to be read from [" + remoteAddress + "]"); final ServletInputStream inputStream = context.getRequest().getInputStream(); byte b[] = new byte[1024]; int length; while (inputStream.isReady() && (length = inputStream.read(b)) != -1) { outStream.write(b, 0, length); } }
if (httpRequest.getHeader("X-HEAD") != null) { httpResponse.setContentLength(1); if (httpRequest.getHeader("X-ISO") != null) { httpResponse.setContentType(TestUtils.TEXT_HTML_CONTENT_TYPE_WITH_ISO_8859_1_CHARSET); } else { httpResponse.setContentType(TestUtils.TEXT_HTML_CONTENT_TYPE_WITH_UTF_8_CHARSET); Enumeration<String> e = httpRequest.getHeaderNames(); String headerName; while (e.hasMoreElements()) { httpResponse.addHeader(CONTENT_LENGTH.toString(), String.valueOf(body.length)); httpResponse.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED); httpResponse.getOutputStream().write(body); httpResponse.getOutputStream().flush(); httpResponse.getOutputStream().close(); return; while (read > -1) { byte[] bytes = new byte[size]; read = httpRequest.getInputStream().read(bytes); if (read > 0) { httpResponse.getOutputStream().write(bytes, 0, read);
throws IOException { LOGGER.debug("Echo received request {} on path {}", httpRequest, httpRequest.getServletContext().getContextPath()); if (httpRequest.getHeader("X-HEAD") != null) { httpResponse.setContentLength(1); if (httpRequest.getHeader("X-ISO") != null) { httpResponse.setContentType(TestUtils.TEXT_HTML_CONTENT_TYPE_WITH_ISO_8859_1_CHARSET); } else { httpResponse.setContentType(TestUtils.TEXT_HTML_CONTENT_TYPE_WITH_UTF_8_CHARSET); httpResponse.getOutputStream().write(body.getBytes()); final ByteArrayOutputStream baos = new ByteArrayOutputStream(); input.setReadListener(new ReadListener() {
@Override protected void handle0(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String delay = request.getHeader("X-Delay"); if (delay != null) { try { response.setStatus(200); if (request.getMethod().equalsIgnoreCase("OPTIONS")) { response.addHeader("Allow", "GET,HEAD,POST,OPTIONS,TRACE"); response.setContentType(request.getHeader("X-IsoCharset") != null ? TEXT_HTML_CONTENT_TYPE_WITH_ISO_8859_1_CHARSET : TEXT_HTML_CONTENT_TYPE_WITH_UTF_8_CHARSET); response.addHeader("X-ClientPort", String.valueOf(request.getRemotePort())); response.getOutputStream().write(requestBody.toString().getBytes()); while (read > -1) { byte[] bytes = new byte[size]; read = request.getInputStream().read(bytes); if (read > 0) { response.getOutputStream().write(bytes, 0, read);
public void handle(String s, Request r, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if (request.getHeader("X-401") != null) { response.setStatus(401); response.setContentLength(0); } else { response.addHeader("X-Auth", request.getHeader("Authorization")); response.addHeader("X-" + CONTENT_LENGTH, String.valueOf(request.getContentLength())); response.setIntHeader("X-" + CONTENT_LENGTH, request.getContentLength()); response.setStatus(200); int size = 10 * 1024; byte[] bytes = new byte[size]; int contentLength = 0; int read; do { read = request.getInputStream().read(bytes); if (read > 0) { contentLength += read; response.getOutputStream().write(bytes, 0, read); } } while (read >= 0); response.setContentLength(contentLength); } response.getOutputStream().flush(); response.getOutputStream().close(); } }
public void handle(String s, org.eclipse.jetty.server.Request r, HttpServletRequest httpRequest, HttpServletResponse httpResponse) throws IOException, ServletException { Enumeration<?> e = httpRequest.getHeaderNames(); String param; while (e.hasMoreElements()) { param = e.nextElement().toString(); httpResponse.addHeader("X-" + param, httpRequest.getHeader(param)); } int size = 10 * 1024; if (httpRequest.getContentLength() > 0) { size = httpRequest.getContentLength(); } byte[] bytes = new byte[size]; if (bytes.length > 0) { int read = 0; while (read != -1) { read = httpRequest.getInputStream().read(bytes); if (read > 0) { httpResponse.getOutputStream().write(bytes, 0, read); } } } httpResponse.setStatus(200); httpResponse.getOutputStream().flush(); httpResponse.getOutputStream().close(); } }
public void handle(String s, Request r, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if ("POST".equalsIgnoreCase(request.getMethod())) { String qs = request.getQueryString(); if (isNonEmpty(qs) && request.getContentLength() == 3) { ServletInputStream is = request.getInputStream(); response.setStatus(HttpServletResponse.SC_OK); byte buf[] = new byte[is.available()]; is.readLine(buf, 0, is.available()); ServletOutputStream os = response.getOutputStream(); os.println(new String(buf)); os.flush(); os.close(); } else { response.sendError(HttpServletResponse.SC_NOT_ACCEPTABLE); } } else { // this handler is to handle POST request response.sendError(HttpServletResponse.SC_FORBIDDEN); } } }
public void handle(String s, Request r, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { if ("POST".equalsIgnoreCase(request.getMethod())) { byte[] bytes = new byte[3]; ByteArrayOutputStream bos = new ByteArrayOutputStream(); int read = 0; while (read > -1) { read = request.getInputStream().read(bytes); if (read > 0) { bos.write(bytes, 0, read); } } response.setStatus(HttpServletResponse.SC_OK); response.addHeader("X-Param", new String(bos.toByteArray())); } else { // this handler is to handle POST request response.sendError(HttpServletResponse.SC_FORBIDDEN); } response.getOutputStream().flush(); response.getOutputStream().close(); } }
String path = request.getPathInfo(); Log.debug("WebDAVLiteServlet: PUT with path = "+path); if (request.getContentLength() <= 0) { response.sendError(HttpServletResponse.SC_BAD_REQUEST); return; response.sendError(HttpServletResponse.SC_BAD_REQUEST); return; response.sendError(HttpServletResponse.SC_BAD_REQUEST); return; Boolean overwriteFile = file.exists(); FileOutputStream fileStream = new FileOutputStream(file, false); ServletInputStream inputStream = request.getInputStream(); byte[] byteArray = new byte[request.getContentLength()]; int bytesRead = 0; while (bytesRead != -1) { bytesRead = inputStream.read(byteArray, bytesRead, request.getContentLength()); inputStream.close(); if (overwriteFile) { response.setStatus(HttpServletResponse.SC_NO_CONTENT);
public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException { int MAX_BODY_SIZE = 1024; // Can only handle bodies of up to 1024 bytes. byte[] b = new byte[MAX_BODY_SIZE]; int offset = 0; int numBytesRead; try (ServletInputStream is = request.getInputStream()) { while ((numBytesRead = is.read(b, offset, MAX_BODY_SIZE - offset)) != -1) { offset += numBytesRead; } } assertEquals(request.getContentLength(), offset); response.setStatus(200); response.setCharacterEncoding(request.getCharacterEncoding()); response.setContentLength(request.getContentLength()); try (ServletOutputStream os = response.getOutputStream()) { os.write(b, 0, offset); } } });
public void handle(String target, Request baseRequest, HttpServletRequest req, HttpServletResponse resp) throws IOException { ServletInputStream in = req.getInputStream(); byte[] b = new byte[8192]; int count; int total = 0; while ((count = in.read(b)) != -1) { b = new byte[8192]; total += count; } resp.setStatus(200); resp.addHeader("X-TRANSFERRED", String.valueOf(total)); resp.getOutputStream().flush(); resp.getOutputStream().close(); baseRequest.setHandled(true); } };
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { final AsyncContext context = request.startAsync(); // Asynchronously reads the POSTed input, then triggers #processContent. try { request.getInputStream().setReadListener(new ReadListenerImpl(context)); } catch (IllegalStateException e) { Log.warn("Error when setting read listener", e); context.complete(); } }
/** * Read from the request body InputStream and return a DataBuffer. * Invoked only when {@link ServletInputStream#isReady()} returns "true". * @return a DataBuffer with data read, or {@link #EOF_BUFFER} if the input * stream returned -1, or null if 0 bytes were read. */ @Nullable DataBuffer readFromInputStream() throws IOException { int read = this.request.getInputStream().read(this.buffer); logBytesRead(read); if (read > 0) { DataBuffer dataBuffer = this.bufferFactory.allocateBuffer(read); dataBuffer.write(this.buffer, 0, read); return dataBuffer; } if (read == -1) { return EOF_BUFFER; } return null; }
public void doInputStreamTest(String testString) throws Exception { HttpServletRequest req = makeRequest(testString, null); BufferedRequestWrapper wrapper = new BufferedRequestWrapper( req, WebUtils.DEFAULT_CHARACTER_ENCODING, testString.getBytes()); ServletInputStream sis = req.getInputStream(); byte b[] = new byte[32]; int amountRead; while ((sis.readLine(b, 0, 32)) > 0) { /* clear out the request body */ } sis = wrapper.getInputStream(); StringBuffer buff = new StringBuffer(); while ((amountRead = sis.readLine(b, 0, 32)) != 0) { buff.append(new String(b, 0, amountRead)); } assertEquals(buff.toString(), testString); }
@Override protected ContentProvider proxyRequestContent(HttpServletRequest request, HttpServletResponse response, Request proxyRequest) throws IOException { ServletInputStream input = request.getInputStream(); DeferredContentProvider provider = new DeferredContentProvider(); input.setReadListener(newReadListener(request, response, proxyRequest, provider)); return provider; }