public abstract class FileSystemChecksumServices extends Object
FileSystemChecksumService
.
Checksum service is used for calculation of file system checksums - assets or any kind of files.
Checksum service is backed by either predefined checksum calculation function (Noop. Adler32, MD5), or custom function.
Custom function has to be provided in the form of Function<InputStream, String>
(class implementing this interface or lambda expression).
If checksummer function is not provided then Noop (no operation) calculation method is used. It does nothing, returns empty string as checksum.
import ratpack.file.FileSystemChecksumService;
import ratpack.file.FileSystemChecksumServices;
import ratpack.handling.Context;
import ratpack.handling.Handler;
import ratpack.test.handling.RequestFixture;
import ratpack.test.handling.HandlingResult;
import static org.junit.Assert.assertNotNull;
import java.nio.file.Paths;
public class Test {
public static class MyHandler implements Handler {
public void handle(Context ctx) throws Exception {
FileSystemChecksumService service = FileSystemChecksumServices.adler32(ctx.getServerConfig(), "assets", "css", "js", "png", "svg");
try {
String chksum = service.checksum("styles/ratpack.css");
ctx.render(chksum);
}
catch (Exception ex) {
ctx.clientError(400);
}
}
}
public static void main(String... args) throws Exception {
// Paths.get(".") -> indicates ratpack-manual home folder.
HandlingResult result = RequestFixture.requestFixture()
.serverConfig(Paths.get("../ratpack-site/src/ratpack"), b -> {
})
.handle(new MyHandler());
assertNotNull(result.rendered(String.class));
}
}
Modifier and Type | Method and Description |
---|---|
static FileSystemChecksumService |
adler32(ServerConfig serverConfig,
String path,
String... fileEndsWith)
Get checksum service with Adler32 calculation method.
|
static FileSystemChecksumService |
md5(ServerConfig serverConfig,
String path,
String... fileEndsWith)
Get checksum service with MD5 calculation method.
|
static FileSystemChecksumService |
service(ServerConfig serverConfig)
Get checksum service that is backward compatible - calculates file checksum with Adler32 method.
|
static FileSystemChecksumService |
service(ServerConfig serverConfig,
Function<? super InputStream,? extends String> checksummerFunc)
Get checksum service with calculation method given as checksummer function.
|
static FileSystemChecksumService |
service(ServerConfig serverConfig,
Function<? super InputStream,? extends String> checksummerFunc,
String path,
String... fileEndsWith)
Get checksum service for additional path related to server's base dir and calculation method as checksummer function.
|
public static FileSystemChecksumService service(ServerConfig serverConfig)
serverConfig
- current server configuration. The most important parameter is baseDir. File path taken as parameter to checksummer is calculated relative to baseDir.public static FileSystemChecksumService service(ServerConfig serverConfig, Function<? super InputStream,? extends String> checksummerFunc)
serverConfig
- current server configuration. The most important parameter is baseDir. File path taken as parameter to checksummer is calculated relative to baseDir.checksummerFunc
- checksum calculation function that takes InputStream and return String with checksum value.public static FileSystemChecksumService service(ServerConfig serverConfig, Function<? super InputStream,? extends String> checksummerFunc, String path, String... fileEndsWith)
serverConfig
- server configuration. The most important parameter is baseDir. File path taken as parameter to checksummer is calculated relative to baseDir and additional path.checksummerFunc
- checksum calculation functionpath
- additional path calculated relative to server's base dir. Becomes root for checksummer function.fileEndsWith
- variable length array of extenstions filtering files in target pathpublic static FileSystemChecksumService adler32(ServerConfig serverConfig, String path, String... fileEndsWith)
serverConfig
- current server configuration. The most important parameter is baseDir. File path taken as parameter to checksummer is calculated relative to baseDir.path
- additional path related to server's base dir. Becomes root for checksummer function. Optional argument.fileEndsWith
- variable length array of extenstions filtering files in target pathpublic static FileSystemChecksumService md5(ServerConfig serverConfig, String path, String... fileEndsWith)
serverConfig
- current server configuration. The most important parameter is baseDir. File path taken as parameter to checksummer is calculated relative to baseDir.path
- additional path related to server's base dir. Becomes root for checksummer function. Optional argument.fileEndsWith
- variable length array of extenstions filtering files in target path