Added Basic auth and GZIP compression
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package tk.draganczuk.url;
|
||||
|
||||
import spark.Filter;
|
||||
|
||||
import static spark.Spark.*;
|
||||
|
||||
public class App {
|
||||
@@ -17,13 +19,25 @@ public class App {
|
||||
|
||||
port(Integer.parseInt(System.getProperty("port", "4567")));
|
||||
|
||||
// Add GZIP compression
|
||||
after(Filters::addGZIP);
|
||||
|
||||
// Authenticate
|
||||
Filter authFilter = Filters.createAuthFilter();
|
||||
before("/index.html", authFilter);
|
||||
|
||||
get("/", (req, res) -> {
|
||||
res.redirect("/index.html");
|
||||
return "Redirect";
|
||||
});
|
||||
|
||||
get("/all", Routes::getAll);
|
||||
post("/new", Routes::addUrl);
|
||||
|
||||
path("/api", () -> {
|
||||
before("/*", authFilter);
|
||||
get("/all", Routes::getAll);
|
||||
post("/new", Routes::addUrl);
|
||||
});
|
||||
|
||||
get("/:shortUrl", Routes::goToLongUrl);
|
||||
}
|
||||
}
|
||||
|
||||
20
src/main/java/tk/draganczuk/url/Filters.java
Normal file
20
src/main/java/tk/draganczuk/url/Filters.java
Normal file
@@ -0,0 +1,20 @@
|
||||
package tk.draganczuk.url;
|
||||
|
||||
import com.qmetric.spark.authentication.AuthenticationDetails;
|
||||
import com.qmetric.spark.authentication.BasicAuthenticationFilter;
|
||||
import spark.Filter;
|
||||
import spark.Request;
|
||||
import spark.Response;
|
||||
|
||||
public class Filters {
|
||||
public static void addGZIP(Request request, Response response) {
|
||||
response.header("Content-Encoding", "gzip");
|
||||
}
|
||||
|
||||
public static Filter createAuthFilter() {
|
||||
String username = System.getenv("username");
|
||||
String password = System.getenv("password");
|
||||
|
||||
return new BasicAuthenticationFilter(new AuthenticationDetails(username, password));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user