Source:
public boolean synchronizedHandleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException { DeploymentConfiguration config = session.getConfiguration(); IndexHtmlResponse indexHtmlResponse = null; Document indexDocument = config.isProductionMode() ? getCachedIndexHtmlDocument(request.getService()) : getIndexHtmlDocument(request.getService()); prependBaseHref(request, indexDocument); JsonObject initialJson = Json.createObject(); if (request.getService().getBootstrapInitialPredicate() .includeInitialUidl(request)) { includeInitialUidl(initialJson, session, request, response); indexHtmlResponse = new IndexHtmlResponse(request, response, indexDocument, UI.getCurrent()); session.setAttribute(SERVER_ROUTING, Boolean.TRUE); } else { indexHtmlResponse = new IndexHtmlResponse(request, response, indexDocument); } addInitialFlow(initialJson, indexDocument, session); configureErrorDialogStyles(indexDocument); showWebpackErrors(indexDocument); response.setContentType(CONTENT_TYPE_TEXT_HTML_UTF_8); VaadinContext context = session.getService().getContext(); AppShellRegistry registry = AppShellRegistry.getInstance(context); if (!config.isProductionMode()) { UsageStatisticsExporter.exportUsageStatisticsToDocument(indexDocument); } setupPwa(indexDocument, session.getService()); registry.modifyIndexHtml(indexDocument, request); storeAppShellTitleToUI(indexDocument); request.getService().modifyIndexHtmlResponse(indexHtmlResponse); if (config.isDevModeLiveReloadEnabled()) { addDevmodeGizmo(indexDocument, session, request); } try { response.getOutputStream() .write(indexDocument.html().getBytes(UTF_8)); } catch (IOException e) { getLogger().error("Error writing 'index.html' to response", e); return false; } return true; }

Target:
public boolean synchronizedHandleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException { DeploymentConfiguration config = session.getConfiguration(); IndexHtmlResponse indexHtmlResponse; Document indexDocument = config.isProductionMode() ? getCachedIndexHtmlDocument(request.getService()) : getIndexHtmlDocument(request.getService()); prependBaseHref(request, indexDocument); JsonObject initialJson = Json.createObject(); if (request.getService().getBootstrapInitialPredicate() .includeInitialUidl(request)) { includeInitialUidl(initialJson, session, request, response); indexHtmlResponse = new IndexHtmlResponse(request, response, indexDocument, UI.getCurrent()); session.setAttribute(SERVER_ROUTING, Boolean.TRUE); } else { indexHtmlResponse = new IndexHtmlResponse(request, response, indexDocument); } addInitialFlow(initialJson, indexDocument, session); configureErrorDialogStyles(indexDocument); showWebpackErrors(indexDocument); response.setContentType(CONTENT_TYPE_TEXT_HTML_UTF_8); VaadinContext context = session.getService().getContext(); AppShellRegistry registry = AppShellRegistry.getInstance(context); if (!config.isProductionMode()) { UsageStatisticsExporter.exportUsageStatisticsToDocument(indexDocument); } setupPwa(indexDocument, session.getService()); registry.modifyIndexHtml(indexDocument, request); storeAppShellTitleToUI(indexDocument); request.getService().modifyIndexHtmlResponse(indexHtmlResponse); if (config.isDevModeLiveReloadEnabled()) { addDevmodeGizmo(indexDocument, session, request); } try { response.getOutputStream() .write(indexDocument.html().getBytes(UTF_8)); } catch (IOException e) { getLogger().error("Error writing 'index.html' to response", e); return false; } return true; }