private static void writeBootstrapPage(VaadinResponse response, String html) throws IOException { response.setContentType( ApplicationConstants.CONTENT_TYPE_TEXT_HTML_UTF_8); try (BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(response.getOutputStream(), UTF_8))) { writer.append(html); } }
/** * Writes the given string as a response using the given content type. * * @param response * The response reference * @param contentType * The content type of the response * @param responseString * The actual response * @throws IOException * If an error occurred while writing the response */ public void writeStringResponse(VaadinResponse response, String contentType, String responseString) throws IOException { response.setContentType(contentType); final OutputStream out = response.getOutputStream(); final PrintWriter outWriter = new PrintWriter( new BufferedWriter(new OutputStreamWriter(out, UTF_8))); outWriter.print(responseString); outWriter.close(); }
/** * Build response for handled download. * * @param response * response to write to * @throws IOException * exception when writing to stream */ private void sendUploadResponse(VaadinResponse response) throws IOException { response.setContentType( ApplicationConstants.CONTENT_TYPE_TEXT_HTML_UTF_8); try (OutputStream out = response.getOutputStream()) { final PrintWriter outWriter = new PrintWriter( new BufferedWriter(new OutputStreamWriter(out, UTF_8))); try { outWriter.print("<html><body>download handled</body></html>"); } finally { outWriter.flush(); } } }
private boolean handleWorkboxResource(String fileName, VaadinResponse response) { try (InputStream stream = BootstrapHandler.class .getResourceAsStream(fileName); InputStreamReader reader = new InputStreamReader( stream, StandardCharsets.UTF_8);) { PrintWriter writer = response.getWriter(); if (fileName.endsWith(".js")) { response.setContentType("application/javascript"); } else { response.setContentType("text/plain"); } final char[] buffer = new char[1024]; int n; while ((n = reader.read(buffer)) != -1) { writer.write(buffer, 0, n); } return true; } catch (NullPointerException e) { getLogger().debug("Workbox file '{}' does not exist", fileName, e); return false; } catch (IOException e) { getLogger().warn("Error while reading workbox file '{}'", fileName, e); return false; } }
/** * Commit the JSON response. We can't write immediately to the output stream * as we want to write only a critical notification if something goes wrong * during the response handling. * * @param response * The response to write to * @param json * The JSON to write * @throws IOException * If there was an exception while writing to the output */ public static void commitJsonResponse(VaadinResponse response, String json) throws IOException { response.setContentType(JsonConstants.JSON_CONTENT_TYPE); // Ensure that the browser does not cache UIDL responses. // iOS 6 Safari requires this (#9732) response.setHeader("Cache-Control", "no-cache"); byte[] b = json.getBytes(UTF_8); response.setContentLength(b.length); OutputStream outputStream = response.getOutputStream(); outputStream.write(b); // NOTE GateIn requires the buffers to be flushed to work outputStream.flush(); } }
requestHandlerMap.put(icon.getRelHref(), (session, request, response) -> { response.setContentType(icon.getType()); pwaRegistry.getPwaConfiguration().relOfflinePath(), (session, request, response) -> { response.setContentType("text/html"); try (PrintWriter writer = response.getWriter()) { writer.write(pwaRegistry.getOfflineHtml()); pwaRegistry.getPwaConfiguration().relManifestPath(), (session, request, response) -> { response.setContentType("application/manifest+json"); try (PrintWriter writer = response.getWriter()) { writer.write(pwaRegistry.getManifestJson()); pwaRegistry.getPwaConfiguration().relServiceWorkerPath(), (session, request, response) -> { response.setContentType("application/javascript"); try (PrintWriter writer = response.getWriter()) { writer.write(pwaRegistry.getServiceWorkerJs());
ServletContext context = ((VaadinServletRequest) request) .getServletContext(); response.setContentType(streamResource.getContentTypeResolver() .apply(streamResource, context)); response.setCacheTime(streamResource.getCacheTime());