Refine search
void sendResponse(HttpExchange t, int retCode, byte[] data) throws IOException { if (t != null) { t.sendResponseHeaders(retCode, data.length); OutputStream os = t.getResponseBody(); os.write(data); os.close(); } } }// LogHandler
InetSocketAddress addr = new InetSocketAddress(8080); HttpServer server = HttpServer.create(addr, 0); String requestMethod = exchange.getRequestMethod(); if (requestMethod.equalsIgnoreCase("GET")) { Headers responseHeaders = exchange.getResponseHeaders(); responseHeaders.set("Content-Type", "text/plain"); exchange.sendResponseHeaders(200, 0); OutputStream responseBody = exchange.getResponseBody(); Headers requestHeaders = exchange.getRequestHeaders(); Set<String> keySet = requestHeaders.keySet(); Iterator<String> iter = keySet.iterator(); while (iter.hasNext()) { String key = iter.next(); List values = requestHeaders.get(key); String s = key + " = " + values.toString() + "\n"; responseBody.write(s.getBytes()); responseBody.close();
@Override public void handle( HttpExchange httpExchange ) throws IOException { Headers h = httpExchange.getResponseHeaders(); h.add( "Content-Type", "application/octet-stream" ); httpExchange.sendResponseHeaders( 200, 0 ); InputStream is = httpExchange.getRequestBody(); OutputStream os = httpExchange.getResponseBody(); int inputChar = -1; while ( ( inputChar = is.read() ) >= 0 ) { os.write( inputChar ); } is.close(); os.flush(); os.close(); httpExchange.close(); } } );
private static void sendAndGetResponse(HttpExchange httpExchange, byte[] response) throws IOException { if (response.length > 0) { httpExchange.getResponseHeaders().add("Content-type", "application/json"); httpExchange.getResponseHeaders().add("Content-length", Integer.toString(response.length)); httpExchange.sendResponseHeaders(HTTP_OK, response.length); httpExchange.getResponseBody().write(response); httpExchange.close(); } }
/** * Write the given RemoteInvocationResult to the given HTTP response. * @param exchange current HTTP request/response * @param result the RemoteInvocationResult object * @throws java.io.IOException in case of I/O failure */ protected void writeRemoteInvocationResult(HttpExchange exchange, RemoteInvocationResult result) throws IOException { exchange.getResponseHeaders().set("Content-Type", getContentType()); exchange.sendResponseHeaders(200, 0); writeRemoteInvocationResult(exchange, result, exchange.getResponseBody()); }
@Override public void handle(HttpExchange httpExchange) throws IOException { // Return a simple text message that says pong. httpExchange.getResponseHeaders().set("Content-type", "text/plain"); String response = "pong\n"; httpExchange.sendResponseHeaders(HTTP_OK, response.getBytes().length); httpExchange.getResponseBody().write(response.getBytes()); httpExchange.close(); } }
@BeforeClass public static void setUpClass() throws Exception { server = HttpServer.create(new InetSocketAddress(0), 0); server.createContext("/", exchange -> { byte[] content = "Hello World!".getBytes(); exchange.sendResponseHeaders(200, content.length); try (OutputStream responseBody = exchange.getResponseBody()) { responseBody.write(content); responseBody.flush(); } }); server.start(); Testcontainers.exposeHostPorts(server.getAddress().getPort()); }
public void handle(HttpExchange t) throws IOException { try { Thread.currentThread().setName("JPG Thread " + Thread.currentThread().getId() + " " + t.getRemoteAddress()); s_logger.debug("ScreenHandler " + t.getRequestURI()); s_logger.debug(t.getRequestURI() + "Process time " + (System.currentTimeMillis() - startTick) + " ms"); } catch (IllegalArgumentException e) { String response = "Bad query string"; s_logger.error(response + ", request URI : " + t.getRequestURI()); t.sendResponseHeaders(200, response.length()); OutputStream os = t.getResponseBody(); os.write(response.getBytes()); os.close(); } catch (OutOfMemoryError e) { s_logger.error("Unrecoverable OutOfMemory Error, exit and let it be re-launched"); String queries = t.getRequestURI().getQuery(); Map<String, String> queryMap = getQueryMap(queries); int width = 0; javax.imageio.ImageIO.write(img, "jpg", bos); byte[] bs = bos.toByteArray(); Headers hds = t.getResponseHeaders(); hds.set("Content-Type", "image/jpeg"); hds.set("Cache-Control", "no-cache"); hds.set("Cache-Control", "no-store"); t.sendResponseHeaders(200, bs.length); OutputStream os = t.getResponseBody();
URI uri = httpExchange.getRequestURI(); File file = new File(rootDirectory + uri.getPath()).getCanonicalFile(); Headers responseHeaders = httpExchange.getResponseHeaders(); if (uri.toString().contains(".ts")) { responseHeaders.set("Content-Type", "video/MP2T"); } else { responseHeaders.set("Content-Type", "application/vnd.apple.mpegurl"); httpExchange.sendResponseHeaders(200, 0); OutputStream outputStream = httpExchange.getResponseBody(); outputStream.write(bytes); outputStream.close();
@Override public void handle(HttpExchange exch) throws IOException { String response; int status; switch (exch.getRequestURI().getPath()) { case "/valid": response = "A test response"; status = 200; break; case "/delayed": waitFor(100); response = "A delayed test response"; status = 200; break; case "/redirect": response = "A redirect"; status = 301; exch.getResponseHeaders().add("Location", format("http://localhost:%s/valid", serverPort)); break; default: response = ""; status = 404; } exch.sendResponseHeaders(status, response.length()); OutputStream os = exch.getResponseBody(); os.write(response.getBytes()); os.close(); }
private <T> void mapResponse(HttpExchange httpExchange, EurekaHttpResponse<T> response) throws IOException { // Add headers for (Map.Entry<String, String> headerEntry : response.getHeaders().entrySet()) { httpExchange.getResponseHeaders().add(headerEntry.getKey(), headerEntry.getValue()); } if (response.getStatusCode() / 100 != 2) { httpExchange.sendResponseHeaders(response.getStatusCode(), 0); return; } // Prepare body, if any T entity = response.getEntity(); byte[] body = null; if (entity != null) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); encoder.encode(entity, bos); body = bos.toByteArray(); } // Set status and body length httpExchange.sendResponseHeaders(response.getStatusCode(), body == null ? 0 : body.length); // Send body if (body != null) { OutputStream responseStream = httpExchange.getResponseBody(); try { responseStream.write(body); responseStream.flush(); } finally { responseStream.close(); } } }
URI exchangeUri = exchange.getRequestURI(); String decodedBasePath = exchange.getHttpContext().getPath(); List<String> hostHeader = exchange.getRequestHeaders().get("Host"); if (hostHeader != null) { StringBuilder sb = new StringBuilder(scheme); sb.append("://").append(hostHeader.get(0)).append(decodedBasePath); baseUri = new URI(sb.toString()); } else { InetSocketAddress addr = exchange.getLocalAddress(); baseUri = new URI(scheme, null, addr.getHostName(), addr.getPort(), decodedBasePath, null, null); exchange.getRequestMethod(), baseUri, requestUri, getHeaders(exchange), exchange.getRequestBody() ); } catch (RuntimeException e) { e.printStackTrace(); exchange.getResponseHeaders().clear(); exchange.sendResponseHeaders(500, -1); } catch (IOException ex) { ex.printStackTrace(); exchange.getResponseHeaders().clear(); exchange.sendResponseHeaders(500, -1);
@Override public void handle(HttpExchange httpExchange) throws IOException { wasInvoked = true; HttpsExchange exchange = (HttpsExchange) httpExchange; for (Map.Entry<String, List<String>> entry : headers.entrySet()) { for (String value : entry.getValue()) { exchange.getResponseHeaders().add(entry.getKey(), value); } } exchange.getResponseHeaders().add("Access-Control-Allow-Origin", "*"); exchange.sendResponseHeaders(200, responseBody.length()); OutputStream os = exchange.getResponseBody(); os.write(responseBody.getBytes()); os.flush(); os.close(); httpExchange.close(); } }
private static void writeResponse(HttpExchange exchange, Response response) { exchange.getResponseHeaders().set("Content-type", "application/json; charset=UTF-8"); OutputStream outputStream = exchange.getResponseBody(); try { exchange.getResponseHeaders().add("Connection", "close"); exchange.sendResponseHeaders(response.code(), response.body().length()); outputStream.write(response.body().getBytes(StandardCharsets.UTF_8)); outputStream.close(); } catch (IOException e) { log.log(Level.WARNING, "IOException encountered when sending response.", e); } }
public void handle(HttpExchange t) throws IOException { InputStream requestBody = t.getRequestBody(); String body = IO.read(requestBody); Headers requestHeaders = t.getRequestHeaders(); body = body + "\n" + copy(requestHeaders).toString(); t.sendResponseHeaders(200, body.length()); OutputStream os = t.getResponseBody(); os.write(body.getBytes()); os.close(); public void testHappy() throws Exception { HttpServer server = HttpServer.create(new InetSocketAddress(9212), 0); server.createContext("/test", new MyHandler()); public void testPostBody() throws Exception { HttpServer server = HttpServer.create(new InetSocketAddress(9220), 0); server.createContext("/test", new MyHandler()); public void testSad() throws Exception { HttpServer server = HttpServer.create(new InetSocketAddress(9213), 0); server.createContext("/test", new MyHandler());
private HttpServer createFileServer(String path, int port) throws Exception { final String resp = readFile(path); HttpServer server = HttpServer.create(new InetSocketAddress(port), 0); server.setExecutor(null); server.createContext("/", e -> { e.sendResponseHeaders(200, 0); e.getResponseHeaders().set("Content-Type", "text/xml"); OutputStream responseBody = e.getResponseBody(); responseBody.write(resp.getBytes()); responseBody.close(); }); return server; }
/** * Handles HTTP requests: checks that a request is a HTTP GET and that url path is the expected one. * If all checks are passed it writes pre-configured file content to the HTTP response body. * * @param exchange Wrapper above the HTTP request and response. */ @Override public void handle(HttpExchange exchange) throws IOException { assert "GET".equalsIgnoreCase(exchange.getRequestMethod()); assert urlPath == null || urlPath.equals(exchange.getRequestURI().toString()); exchange.getResponseHeaders().set("Content-Type", "application/octet-stream"); exchange.sendResponseHeaders(200, 0); try (OutputStream resBody = exchange.getResponseBody()) { resBody.write(GridTestUtils.readFile(downloadFile)); } } }
@Override public void handle(final HttpExchange httpExchange) throws IOException { final String remoteClientAddress = httpExchange.getRemoteAddress().getAddress().toString().replace("/", ""); LOG.debug("Prometheus exporter received client request from: " + remoteClientAddress); String response = "Forbidden"; int responseCode = 403; if (Arrays.asList(PrometheusExporterAllowedAddresses.value().split(",")).contains(remoteClientAddress)) { prometheusExporter.updateMetrics(); response = prometheusExporter.getMetrics(); responseCode = 200; } httpExchange.getResponseHeaders().set("Content-Type", "text/plain"); httpExchange.sendResponseHeaders(responseCode, response.length()); final OutputStream os = httpExchange.getResponseBody(); os.write(response.getBytes()); os.close(); } }
byte[] responseBytes; try { InputStream request = httpExchange.getRequestBody(); byte[] requestBytes = new byte[10000]; request.read(requestBytes); Headers rh = httpExchange.getResponseHeaders(); rh.set("Content-Type", "application/ocsp-response"); httpExchange.sendResponseHeaders(200, responseBytes.length); OutputStream os = httpExchange.getResponseBody(); os.write(responseBytes); os.close();
Headers headers = exchange.getRequestHeaders(); int status = getInt(headers, "X-Status", 200); int length = getInt(headers, "X-Length", -1); ignore(exchange.getRequestBody()); exchange.sendResponseHeaders(status, length); exchange.close(); }); Headers headers = exchange.getRequestHeaders(); int status = getInt(headers, "X-Status", 200); boolean compressResponse = headers .getOrDefault("Content-Encoding", Collections.emptyList()) .contains("gzip"); if (compressResponse) { exchange.getResponseHeaders().add("Content-Encoding", "gzip"); exchange.sendResponseHeaders(status, 0L); try (InputStream in = exchange.getRequestBody(); OutputStream out = exchange.getResponseBody()) { byte[] buf = new byte[1024]; int length; while ((length = in.read(buf)) > 0) { out.write(buf, 0, length); exchange.close(); });