@Override public Resource transform(HttpServletRequest request, Resource resource, ResourceTransformerChain transformerChain) throws IOException { resource = transformerChain.transform(request, resource); InputStream is = resource.getInputStream(); StringWriter contentWriter = new StringWriter(); BufferedReader rdr = new BufferedReader(new InputStreamReader(is)); String buf = null; while ((buf = rdr.readLine()) != null) { contentWriter.write(buf.replaceAll("::REMOTE_API_URL::", remoteApiUrl)); contentWriter.write("\n"); } return new TransformedResource(resource, contentWriter.toString().getBytes("UTF-8")); }
@Override public Resource transform(HttpServletRequest request, Resource resource, ResourceTransformerChain transformerChain) throws IOException { resource = transformerChain.transform(request, resource); InputStream is = resource.getInputStream(); StringWriter contentWriter = new StringWriter(); BufferedReader rdr = new BufferedReader(new InputStreamReader(is)); String buf = null; while ((buf = rdr.readLine()) != null) { contentWriter.write(buf.replaceAll("::REMOTE_API_URL::", remoteApiUrl).replaceAll("::AUTH_SERVER_URL::", authServerUrl)); contentWriter.write("\n"); } return new TransformedResource(resource, contentWriter.toString().getBytes("UTF-8")); }
protected Resource transformText(String fileName, Resource resource) throws IOException { if (injectableTextFiles.stream() .noneMatch(p -> pathMatcher.match(p, fileName))) { log.trace("{} not in injectable-files, skipping", fileName); return resource; } else { log.trace("transforming {}", fileName); } final byte[] bytes = FileCopyUtils.copyToByteArray(resource.getInputStream()); final String content = new String(bytes, DEFAULT_CHARSET); final StringBuffer transformed = new StringBuffer(); final Matcher m = TEXT_REPLACE_PATTERN.matcher(content); while (m.find()) { final String match = m.group(), key = m.group(1), fallback = StringUtils.defaultString(m.group(2), match); if (log.isTraceEnabled()) { final String replace = environment.getProperty(key); if (replace == null) { if (m.group(2) == null) { log.trace("{} -> '{}' (property not found, no fallback)", match, fallback); } else { log.trace("{} -> '{}' (fallback)", match, fallback); } } else { log.trace("{} -> '{}' (env '{}')", match, replace, key); } } m.appendReplacement(transformed, Matcher.quoteReplacement(environment.getProperty(key, fallback))); } m.appendTail(transformed); return new TransformedResource(resource, transformed.toString().getBytes(DEFAULT_CHARSET)); }
private Resource replaceInitialLink(String contextPath, Resource resource) throws IOException { byte[] bytes = FileCopyUtils.copyToByteArray(resource.getInputStream()); String content = new String(bytes, DEFAULT_CHARSET); String initial = contextPath + getManagementServletContext().getContextPath() + getPath(); content = content.replace("entryPoint: '/'", "entryPoint: '" + initial + "'"); return new TransformedResource(resource, content.getBytes(DEFAULT_CHARSET)); }
private Resource replaceInitialLink(Resource resource) throws IOException { byte[] bytes = FileCopyUtils.copyToByteArray(resource.getInputStream()); String content = new String(bytes, DEFAULT_CHARSET); String initial = getManagementServletContext().getContextPath() + getPath(); content = content.replace("entryPoint: '/'", "entryPoint: '" + initial + "'"); return new TransformedResource(resource, content.getBytes(DEFAULT_CHARSET)); }