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 {