Skip to content

Commit a361134

Browse files
committed
Made file handler classes extendable
1 parent ca409d9 commit a361134

File tree

3 files changed

+31
-3
lines changed

3 files changed

+31
-3
lines changed

src/main/java/dev/latvian/apps/tinyserver/http/file/DynamicFileHandler.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,16 @@
99
import java.nio.file.Files;
1010
import java.nio.file.Path;
1111

12-
public record DynamicFileHandler<REQ extends HTTPRequest>(Path directory, FileResponseHandler responseHandler, boolean autoIndex) implements HTTPHandler<REQ> {
12+
public class DynamicFileHandler<REQ extends HTTPRequest> implements HTTPHandler<REQ> {
13+
public final Path directory;
14+
public final FileResponseHandler responseHandler;
15+
public final boolean autoIndex;
16+
17+
public DynamicFileHandler(Path directory, FileResponseHandler responseHandler, boolean autoIndex) {
18+
this.directory = directory;
19+
this.responseHandler = responseHandler;
20+
this.autoIndex = autoIndex;
21+
}
1322

1423
@Override
1524
public HTTPResponse handle(REQ req) throws IOException {

src/main/java/dev/latvian/apps/tinyserver/http/file/FileIndexHandler.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,17 @@
1010
import java.nio.file.Files;
1111
import java.nio.file.Path;
1212

13-
public record FileIndexHandler<REQ extends HTTPRequest>(Path rootDirectory, Path directory, FileResponseHandler responseHandler) implements HTTPHandler<REQ> {
13+
public class FileIndexHandler<REQ extends HTTPRequest> implements HTTPHandler<REQ> {
14+
public final Path rootDirectory;
15+
public final Path directory;
16+
public final FileResponseHandler responseHandler;
17+
18+
public FileIndexHandler(Path rootDirectory, Path directory, FileResponseHandler responseHandler) {
19+
this.rootDirectory = rootDirectory;
20+
this.directory = directory;
21+
this.responseHandler = responseHandler;
22+
}
23+
1424
@Override
1525
public HTTPResponse handle(REQ req) throws IOException {
1626
if (Files.exists(directory) && Files.isReadable(directory) && Files.isDirectory(directory)) {

src/main/java/dev/latvian/apps/tinyserver/http/file/SingleFileHandler.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,16 @@
88
import java.nio.file.Files;
99
import java.nio.file.Path;
1010

11-
public record SingleFileHandler<REQ extends HTTPRequest>(Path path, String contentType, FileResponseHandler responseHandler) implements HTTPHandler<REQ> {
11+
public class SingleFileHandler<REQ extends HTTPRequest> implements HTTPHandler<REQ> {
12+
public final Path path;
13+
public final String contentType;
14+
public final FileResponseHandler responseHandler;
15+
16+
public SingleFileHandler(Path path, String contentType, FileResponseHandler responseHandler) {
17+
this.path = path;
18+
this.contentType = contentType;
19+
this.responseHandler = responseHandler;
20+
}
1221

1322
@Override
1423
public HTTPResponse handle(REQ req) {

0 commit comments

Comments
 (0)