diff --git a/.github/workflows/maven-deploy-release.yml b/.github/workflows/maven-deploy-release.yml
index 562bcc6..55f0aa7 100644
--- a/.github/workflows/maven-deploy-release.yml
+++ b/.github/workflows/maven-deploy-release.yml
@@ -20,7 +20,6 @@ jobs:
- name: Deploy to JavaWebStack Repository
run: mvn deploy -B -DbuildVersion=${{ github.event.release.tag_name }} -s build/settings.xml -Dmaven.test.skip=true
env:
- DEPLOYMENT_USERNAME: ${{ secrets.DEPLOYMENT_USERNAME }}
- DEPLOYMENT_PASSWORD: ${{ secrets.DEPLOYMENT_PASSWORD }}
+ CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
+ CENTRAL_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
diff --git a/.github/workflows/maven-deploy.yml b/.github/workflows/maven-deploy.yml
index 988a134..57f1ea2 100644
--- a/.github/workflows/maven-deploy.yml
+++ b/.github/workflows/maven-deploy.yml
@@ -21,7 +21,6 @@ jobs:
- name: Deploy to JavaWebStack Repository
run: mvn deploy -B -s build/settings.xml -Dmaven.test.skip=true
env:
- DEPLOYMENT_USERNAME: ${{ secrets.DEPLOYMENT_USERNAME }}
- DEPLOYMENT_PASSWORD: ${{ secrets.DEPLOYMENT_PASSWORD }}
+ CENTRAL_USERNAME: ${{ secrets.CENTRAL_USERNAME }}
+ CENTRAL_PASSWORD: ${{ secrets.CENTRAL_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
- OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
diff --git a/README.md b/README.md
index 3892cbe..cea2822 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,6 @@ JWS Utilties
org.javawebstack
web-utils
- 1.0.1
+ 1.0.2
```
diff --git a/build/settings.xml b/build/settings.xml
index 07e7726..88571fa 100644
--- a/build/settings.xml
+++ b/build/settings.xml
@@ -5,19 +5,9 @@
>
- javawebstack-snapshots
- ${env.DEPLOYMENT_USERNAME}
- ${env.DEPLOYMENT_PASSWORD}
-
-
- javawebstack-releases
- ${env.DEPLOYMENT_USERNAME}
- ${env.DEPLOYMENT_PASSWORD}
-
-
- ossrh
- JavaWebStack
- ${env.OSSRH_PASSWORD}
+ central
+ ${env.CENTRAL_USERNAME}
+ ${env.CENTRAL_PASSWORD}
gpg
diff --git a/pom.xml b/pom.xml
index 799ce50..84901db 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
8
8
- 1.0.1-SNAPSHOT
+ 1.0.2-SNAPSHOT
org.javawebstack
@@ -40,45 +40,50 @@
https://github.com/JavaWebStack/web-utils/tree/master
+
+
+ central-snapshots
+ https://central.sonatype.com/repository/maven-snapshots/
+
+
+
org.javawebstack
orm
- 1.0.2
+ 1.0.3-SNAPSHOT
+ provided
org.javawebstack
- http-server
- 1.0.2
+ http-router
+ 1.0.3-SNAPSHOT
+ provided
org.junit.jupiter
junit-jupiter-engine
- 5.9.0
+ 5.10.0
test
+
+ org.sonatype.central
+ central-publishing-maven-plugin
+ 0.9.0
+ true
+
+ central
+
+
org.apache.maven.plugins
maven-surefire-plugin
2.22.1
-
- maven-deploy-plugin
- 3.0.0-M1
-
-
- default-deploy
- deploy
-
- deploy
-
-
-
-
org.apache.maven.plugins
maven-source-plugin
@@ -117,7 +122,7 @@
sign
- A313520526A8DFE1C2A30399C35A3D43C557B112
+ EC9CCFF8901F0AA22191DCEDD619376246C066D0
gpg
--no-tty
@@ -133,13 +138,9 @@
- ossrh
- https://s01.oss.sonatype.org/content/repositories/snapshots
+ central
+ https://central.sonatype.com/repository/maven-snapshots/
-
- ossrh
- https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
-
\ No newline at end of file
diff --git a/src/main/java/org/javawebstack/webutils/middleware/CORSPolicy.java b/src/main/java/org/javawebstack/webutils/middleware/CORSPolicy.java
index 760fab9..a10a11b 100644
--- a/src/main/java/org/javawebstack/webutils/middleware/CORSPolicy.java
+++ b/src/main/java/org/javawebstack/webutils/middleware/CORSPolicy.java
@@ -1,8 +1,8 @@
package org.javawebstack.webutils.middleware;
-import org.javawebstack.httpserver.Exchange;
-import org.javawebstack.httpserver.HTTPMethod;
-import org.javawebstack.httpserver.handler.RequestInterceptor;
+import org.javawebstack.http.router.Exchange;
+import org.javawebstack.http.router.HTTPMethod;
+import org.javawebstack.http.router.handler.RequestInterceptor;
public class CORSPolicy implements RequestInterceptor {
private final String allowedOrigin;
diff --git a/src/main/java/org/javawebstack/webutils/middleware/ModelBindCheckMiddleware.java b/src/main/java/org/javawebstack/webutils/middleware/ModelBindCheckMiddleware.java
new file mode 100644
index 0000000..089628c
--- /dev/null
+++ b/src/main/java/org/javawebstack/webutils/middleware/ModelBindCheckMiddleware.java
@@ -0,0 +1,33 @@
+package org.javawebstack.webutils.middleware;
+
+import org.javawebstack.http.router.Exchange;
+import org.javawebstack.http.router.handler.RequestHandler;
+
+import java.util.function.BiFunction;
+
+public class ModelBindCheckMiddleware implements RequestHandler {
+
+ private final BiFunction handler;
+
+ public ModelBindCheckMiddleware() {
+ this(ModelBindCheckMiddleware::defaultHandler);
+ }
+
+ public ModelBindCheckMiddleware(BiFunction handler) {
+ this.handler = handler;
+ }
+
+ public Object handle(Exchange exchange) {
+ for (String key : exchange.getPathVariables().keySet()) {
+ if (exchange.getPathVariables().get(key) == null)
+ return handler.apply(exchange, key);
+ }
+ return null;
+ }
+
+ private static Object defaultHandler(Exchange exchange, String key) {
+ exchange.status(404);
+ return "Not Found";
+ }
+
+}
diff --git a/src/main/java/org/javawebstack/webutils/middleware/MultipartPolicy.java b/src/main/java/org/javawebstack/webutils/middleware/MultipartPolicy.java
index 7a76f22..21a40d7 100644
--- a/src/main/java/org/javawebstack/webutils/middleware/MultipartPolicy.java
+++ b/src/main/java/org/javawebstack/webutils/middleware/MultipartPolicy.java
@@ -1,7 +1,7 @@
package org.javawebstack.webutils.middleware;
-import org.javawebstack.httpserver.Exchange;
-import org.javawebstack.httpserver.handler.RequestInterceptor;
+import org.javawebstack.http.router.Exchange;
+import org.javawebstack.http.router.handler.RequestInterceptor;
public class MultipartPolicy implements RequestInterceptor {
diff --git a/src/main/java/org/javawebstack/webutils/middlewares/RateLimitMiddleware.java b/src/main/java/org/javawebstack/webutils/middleware/RateLimitMiddleware.java
similarity index 94%
rename from src/main/java/org/javawebstack/webutils/middlewares/RateLimitMiddleware.java
rename to src/main/java/org/javawebstack/webutils/middleware/RateLimitMiddleware.java
index 43afd36..800e6b7 100644
--- a/src/main/java/org/javawebstack/webutils/middlewares/RateLimitMiddleware.java
+++ b/src/main/java/org/javawebstack/webutils/middleware/RateLimitMiddleware.java
@@ -1,9 +1,8 @@
-package org.javawebstack.webutils.middlewares;
+package org.javawebstack.webutils.middleware;
-import org.javawebstack.httpserver.Exchange;
-import org.javawebstack.httpserver.handler.Middleware;
+import org.javawebstack.http.router.Exchange;
+import org.javawebstack.http.router.handler.Middleware;
-import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
diff --git a/src/main/java/org/javawebstack/webutils/middleware/SerializedResponseTransformer.java b/src/main/java/org/javawebstack/webutils/middleware/SerializedResponseTransformer.java
deleted file mode 100644
index 1d40d78..0000000
--- a/src/main/java/org/javawebstack/webutils/middleware/SerializedResponseTransformer.java
+++ /dev/null
@@ -1,53 +0,0 @@
-package org.javawebstack.webutils.middleware;
-
-import org.javawebstack.abstractdata.AbstractMapper;
-import org.javawebstack.abstractdata.NamingPolicy;
-import org.javawebstack.httpserver.Exchange;
-import org.javawebstack.httpserver.transformer.response.ResponseTransformer;
-
-public class SerializedResponseTransformer implements ResponseTransformer {
-
- private final AbstractMapper mapper;
- private boolean ignoreStrings;
-
- public SerializedResponseTransformer() {
- this((new AbstractMapper()).setNamingPolicy(NamingPolicy.SNAKE_CASE));
- }
-
- public SerializedResponseTransformer(AbstractMapper mapper) {
- this.ignoreStrings = false;
- this.mapper = mapper;
- }
-
- public SerializedResponseTransformer ignoreStrings() {
- this.ignoreStrings = true;
- return this;
- }
-
- public String transform(Exchange exchange, Object object) {
- if (object instanceof byte[]) {
- return null;
- } else {
- if (this.ignoreStrings && object instanceof String)
- return null;
- String accept = exchange.header("Accept");
-
- if (accept != null) {
- switch (accept.toLowerCase()) {
- case "application/x-yaml":
- case "application/yaml":
- case "text/yaml":
- case "text/x-yaml":
- exchange.contentType(accept);
- return this.mapper.toAbstract(object).toYaml();
- case "application/x-www-form-urlencoded":
- exchange.contentType(accept);
- return this.mapper.toAbstract(object).toFormDataString();
- }
- }
-
- exchange.contentType("application/json");
- return this.mapper.toAbstract(object).toJsonString();
- }
- }
-}
diff --git a/src/main/java/org/javawebstack/webutils/modelbind/ModelBindParamTransformer.java b/src/main/java/org/javawebstack/webutils/modelbind/ModelBindParamTransformer.java
index c40d905..bd1a2e3 100644
--- a/src/main/java/org/javawebstack/webutils/modelbind/ModelBindParamTransformer.java
+++ b/src/main/java/org/javawebstack/webutils/modelbind/ModelBindParamTransformer.java
@@ -1,6 +1,6 @@
package org.javawebstack.webutils.modelbind;
-import org.javawebstack.httpserver.transformer.route.DefaultRouteParamTransformer;
+import org.javawebstack.http.router.transformer.route.DefaultRouteParamTransformer;
import org.javawebstack.orm.Model;
import org.javawebstack.orm.ORM;
import org.javawebstack.orm.Repo;
diff --git a/src/main/java/org/javawebstack/webutils/modelbind/ModelBindTransformer.java b/src/main/java/org/javawebstack/webutils/modelbind/ModelBindTransformer.java
index 5d56a7a..e9367a2 100644
--- a/src/main/java/org/javawebstack/webutils/modelbind/ModelBindTransformer.java
+++ b/src/main/java/org/javawebstack/webutils/modelbind/ModelBindTransformer.java
@@ -1,6 +1,6 @@
package org.javawebstack.webutils.modelbind;
-import org.javawebstack.httpserver.Exchange;
+import org.javawebstack.http.router.Exchange;
import org.javawebstack.orm.Repo;
public interface ModelBindTransformer {