@Override public Resource createRelative(String relativePath) throws IOException { return this.delegate.createRelative(relativePath); }
@Override public Resource createRelative(String relativePath) throws IOException { return this.original.createRelative(relativePath); }
@Override public Resource createRelative(String relativePath) throws IOException { return this.encoded.createRelative(relativePath); }
@Override public Resource createRelative(String relativePath) throws IOException { return this.gzipped.createRelative(relativePath); }
@Override public Resource createRelative(String relativePath) throws IOException { return this.original.createRelative(relativePath); }
EncodedResource(Resource original, String coding, String extension) throws IOException { this.original = original; this.coding = coding; this.encoded = original.createRelative(original.getFilename() + extension); }
EncodedResource(Resource original, String coding, String extension) throws IOException { this.original = original; this.coding = coding; this.encoded = original.createRelative(original.getFilename() + extension); }
public GzippedResource(Resource original) throws IOException { this.original = original; this.gzipped = original.createRelative(original.getFilename() + ".gz"); }
static void createGzippedFile(String filePath) throws IOException { Resource location = new ClassPathResource("test/", EncodedResourceResolverTests.class); Resource resource = new FileSystemResource(location.createRelative(filePath).getFile()); Path gzFilePath = Paths.get(resource.getFile().getAbsolutePath() + ".gz"); Files.deleteIfExists(gzFilePath); File gzFile = Files.createFile(gzFilePath).toFile(); GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(gzFile)); FileCopyUtils.copy(resource.getInputStream(), out); gzFile.deleteOnExit(); }
static void createGzippedFile(String filePath) throws IOException { Resource location = new ClassPathResource("test/", EncodedResourceResolverTests.class); Resource resource = new FileSystemResource(location.createRelative(filePath).getFile()); Path gzFilePath = Paths.get(resource.getFile().getAbsolutePath() + ".gz"); Files.deleteIfExists(gzFilePath); File gzFile = Files.createFile(gzFilePath).toFile(); GZIPOutputStream out = new GZIPOutputStream(new FileOutputStream(gzFile)); FileCopyUtils.copy(resource.getInputStream(), out); gzFile.deleteOnExit(); }
@Test public void testClassPathResourceWithRelativePath() throws IOException { Resource resource = new ClassPathResource("dir/"); Resource relative = resource.createRelative("subdir"); assertEquals(new ClassPathResource("dir/subdir"), relative); }
@Test public void testFileSystemResourceWithRelativePath() throws IOException { Resource resource = new FileSystemResource("dir/"); Resource relative = resource.createRelative("subdir"); assertEquals(new FileSystemResource("dir/subdir"), relative); }
private void testCheckResource(Resource location, String requestPath) throws IOException { List<Resource> locations = singletonList(location); Resource actual = this.resolver.resolveResource(null, requestPath, locations, null).block(TIMEOUT); if (!location.createRelative(requestPath).exists() && !requestPath.contains(":")) { fail(requestPath + " doesn't actually exist as a relative path"); } assertNull(actual); }
private void doTestResource(Resource resource) throws IOException { assertEquals("Resource.class", resource.getFilename()); assertTrue(resource.getURL().getFile().endsWith("Resource.class")); Resource relative1 = resource.createRelative("ClassPathResource.class"); assertEquals("ClassPathResource.class", relative1.getFilename()); assertTrue(relative1.getURL().getFile().endsWith("ClassPathResource.class")); assertTrue(relative1.exists()); Resource relative2 = resource.createRelative("support/ResourcePatternResolver.class"); assertEquals("ResourcePatternResolver.class", relative2.getFilename()); assertTrue(relative2.getURL().getFile().endsWith("ResourcePatternResolver.class")); assertTrue(relative2.exists()); } }
@Test public void resolveFromClasspath() throws IOException { Resource location = new ClassPathResource("test/", PathResourceResolver.class); String path = "bar.css"; List<Resource> locations = singletonList(location); Resource actual = this.resolver.resolveResource(null, path, locations, null).block(TIMEOUT); assertEquals(location.createRelative(path), actual); }
private void testCheckResource(Resource location, String requestPath) throws IOException { List<Resource> locations = Collections.singletonList(location); Resource actual = this.resolver.resolveResource(null, requestPath, locations, null); if (!location.createRelative(requestPath).exists() && !requestPath.contains(":")) { fail(requestPath + " doesn't actually exist as a relative path"); } assertNull(actual); }
@Test public void resolveFromClasspath() throws IOException { Resource location = new ClassPathResource("test/", PathResourceResolver.class); String requestPath = "bar.css"; Resource actual = this.resolver.resolveResource(null, requestPath, Collections.singletonList(location), null); assertEquals(location.createRelative(requestPath), actual); }
private void testResolvePathWithTraversal(Resource location, String requestPath) throws Exception { this.request.setAttribute(HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE, requestPath); this.response = new MockHttpServletResponse(); this.handler.handleRequest(this.request, this.response); if (!location.createRelative(requestPath).exists() && !requestPath.contains(":")) { fail(requestPath + " doesn't actually exist as a relative path"); } assertEquals(HttpStatus.NOT_FOUND.value(), this.response.getStatus()); }
@Test public void testUrlResourceWithRelativePath() throws IOException { Resource resource = new UrlResource("file:dir/"); Resource relative = resource.createRelative("subdir"); assertEquals(new UrlResource("file:dir/subdir"), relative); }
@Test public void testServletContextResourceWithRelativePath() throws IOException { MockServletContext sc = new MockServletContext(); Resource resource = new ServletContextResource(sc, "dir/"); Resource relative = resource.createRelative("subdir"); assertEquals(new ServletContextResource(sc, "dir/subdir"), relative); }