diff --git a/src/main/java/de/uni_hamburg/corpora/server/Font.java b/src/main/java/de/uni_hamburg/corpora/server/Font.java new file mode 100644 index 0000000000000000000000000000000000000000..29675ee8328ef33a5c99779b627f8da6f63e174f --- /dev/null +++ b/src/main/java/de/uni_hamburg/corpora/server/Font.java @@ -0,0 +1,37 @@ +package de.uni_hamburg.corpora.server; + +import jakarta.ws.rs.GET; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.PathParam; +import jakarta.ws.rs.core.Response; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; + +/** + * @author bba1792 Dr. Herbert Lange + * @version 20220405 + * Class handling font files + */ +@Path("/fonts/{staticFile}") +public class Font { + + private final Logger logger = LoggerFactory.getLogger(this.getClass().getName()); + /** + * Method handling HTTP GET requests for font files. The returned object will be sent + * to the client + * + * @return Response containing the file or an error code + */ + @GET + public Response getStatic(@PathParam("staticFile") String fileName) { + logger.info("Loading file " + fileName); + try { + return Response.ok(this.getClass().getModule().getResourceAsStream("fonts/" + fileName).readAllBytes()).build(); + } + catch (IOException e) { + return Response.status(500, "Error loading resource").build(); + } + } +}