From 7b996b552b7ec47d7ae5627501affb9702b7f65b Mon Sep 17 00:00:00 2001 From: Relism Date: Thu, 26 Mar 2026 14:10:53 +0100 Subject: [PATCH] pre-major refactoring + ext api. --- .idea/encodings.xml | 10 + .idea/jsLibraryMappings.xml | 6 + .idea/vcs.xml | 1 - .idea/workspace.xml | 153 +++++--- flash-extensions/flash-ext-jackson/README.md | 102 +++++ flash-extensions/flash-ext-jackson/pom.xml | 34 ++ .../relism/ext/jackson/JacksonExtension.java | 72 ++++ .../relism/ext/jackson/JacksonHandler.java | 77 ++++ flash-extensions/flash-ext-oidc/README.md | 352 ++++++++++++++++++ flash-extensions/flash-ext-oidc/pom.xml | 43 +++ .../dev/relism/ext/oidc/Authenticated.java | 23 ++ .../dev/relism/ext/oidc/ClaimsHolder.java | 71 ++++ .../dev/relism/ext/oidc/ClientAuthMethod.java | 18 + .../dev/relism/ext/oidc/DiscoveryClient.java | 50 +++ .../ext/oidc/InMemoryOidcSessionStore.java | 20 + .../java/dev/relism/ext/oidc/JwtUtils.java | 38 ++ .../dev/relism/ext/oidc/JwtValidator.java | 184 +++++++++ .../java/dev/relism/ext/oidc/OidcConfig.java | 250 +++++++++++++ .../dev/relism/ext/oidc/OidcExtension.java | 340 +++++++++++++++++ .../dev/relism/ext/oidc/OidcMiddleware.java | 203 ++++++++++ .../relism/ext/oidc/OidcProviderMetadata.java | 15 + .../java/dev/relism/ext/oidc/OidcSession.java | 47 +++ .../dev/relism/ext/oidc/OidcSessionStore.java | 14 + .../dev/relism/ext/oidc/OidcStateStore.java | 39 ++ .../relism/ext/oidc/OidcTokenResponse.java | 10 + .../java/dev/relism/ext/oidc/OidcUser.java | 106 ++++++ .../ext/oidc/OidcValidationException.java | 12 + .../java/dev/relism/ext/oidc/PkceUtils.java | 36 ++ .../dev/relism/ext/oidc/RolesAllowed.java | 32 ++ .../java/dev/relism/ext/oidc/TokenClient.java | 112 ++++++ flash-extensions/flash-ext-openapi/README.md | 160 ++++++++ flash-extensions/flash-ext-openapi/pom.xml | 34 ++ .../dev/relism/ext/openapi/ApiOperation.java | 26 ++ .../java/dev/relism/ext/openapi/ApiParam.java | 27 ++ .../dev/relism/ext/openapi/ApiParams.java | 13 + .../dev/relism/ext/openapi/ApiResponse.java | 23 ++ .../dev/relism/ext/openapi/ApiResponses.java | 13 + .../relism/ext/openapi/OpenApiBuilder.java | 204 ++++++++++ .../relism/ext/openapi/OpenApiExtension.java | 139 +++++++ .../openapi/OpenApiSecurityContributor.java | 49 +++ .../ext/openapi/OpenApiSecurityRegistry.java | 31 ++ flash-extensions/pom.xml | 52 +++ .../src/main/java/dev/relism/HttpServer.java | 41 +- .../dev/relism/exceptions/HttpException.java | 53 +++ .../relism/extension/AnnotationProcessor.java | 22 ++ .../relism/extension/ExtensionContext.java | 62 +++ .../java/dev/relism/extension/FlashApp.java | 182 +++++++++ .../dev/relism/extension/FlashExtension.java | 25 ++ .../java/dev/relism/models/RequestHelper.java | 106 ++++++ .../dev/relism/routing/AbstractRouter.java | 71 ++-- .../java/dev/relism/routing/RouteHandle.java | 70 ++++ .../dev/relism/HttpServerConcurrencyTest.java | 6 +- .../test/java/dev/relism/HttpServerTest.java | 16 +- .../relism/routing/AbstractRouterTest.java | 18 +- .../dev/relism/routing/GlobalRouterTest.java | 2 +- .../FastPathRouterImplTest.java | 8 +- pom.xml | 17 + 57 files changed, 3823 insertions(+), 117 deletions(-) create mode 100644 .idea/jsLibraryMappings.xml create mode 100644 flash-extensions/flash-ext-jackson/README.md create mode 100644 flash-extensions/flash-ext-jackson/pom.xml create mode 100644 flash-extensions/flash-ext-jackson/src/main/java/dev/relism/ext/jackson/JacksonExtension.java create mode 100644 flash-extensions/flash-ext-jackson/src/main/java/dev/relism/ext/jackson/JacksonHandler.java create mode 100644 flash-extensions/flash-ext-oidc/README.md create mode 100644 flash-extensions/flash-ext-oidc/pom.xml create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/Authenticated.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/ClaimsHolder.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/ClientAuthMethod.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/DiscoveryClient.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/InMemoryOidcSessionStore.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/JwtUtils.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/JwtValidator.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcConfig.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcExtension.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcMiddleware.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcProviderMetadata.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcSession.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcSessionStore.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcStateStore.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcTokenResponse.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcUser.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/OidcValidationException.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/PkceUtils.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/RolesAllowed.java create mode 100644 flash-extensions/flash-ext-oidc/src/main/java/dev/relism/ext/oidc/TokenClient.java create mode 100644 flash-extensions/flash-ext-openapi/README.md create mode 100644 flash-extensions/flash-ext-openapi/pom.xml create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/ApiOperation.java create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/ApiParam.java create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/ApiParams.java create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/ApiResponse.java create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/ApiResponses.java create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/OpenApiBuilder.java create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/OpenApiExtension.java create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/OpenApiSecurityContributor.java create mode 100644 flash-extensions/flash-ext-openapi/src/main/java/dev/relism/ext/openapi/OpenApiSecurityRegistry.java create mode 100644 flash-extensions/pom.xml create mode 100644 flash/src/main/java/dev/relism/exceptions/HttpException.java create mode 100644 flash/src/main/java/dev/relism/extension/AnnotationProcessor.java create mode 100644 flash/src/main/java/dev/relism/extension/ExtensionContext.java create mode 100644 flash/src/main/java/dev/relism/extension/FlashApp.java create mode 100644 flash/src/main/java/dev/relism/extension/FlashExtension.java create mode 100644 flash/src/main/java/dev/relism/models/RequestHelper.java create mode 100644 flash/src/main/java/dev/relism/routing/RouteHandle.java diff --git a/.idea/encodings.xml b/.idea/encodings.xml index a931d1c..0a645a4 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -3,6 +3,16 @@ + + + + + + + + + + diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml new file mode 100644 index 0000000..9182765 --- /dev/null +++ b/.idea/jsLibraryMappings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml index d5975af..35eb1dd 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,6 +2,5 @@ - \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml index ed6e7a2..917c0db 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -4,19 +4,19 @@ - + + + - - - - - - - - + + + + + + - @@ -43,6 +43,7 @@ { "lastFilter": { @@ -68,48 +69,50 @@ - { - "keyToString": { - "Application.ExternalBenchmark (1).executor": "Run", - "Application.ExternalBenchmark.executor": "Run", - "Application.Main.executor": "Run", - "Application.dev.relism.bench.Main.executor": "Run", - "JUnit.RequestParserTest.executor": "Run", - "JUnit.RequestParserTest.headers_caseInsensitive.executor": "Debug", - "Maven.FlashPractice [test].executor": "Run", - "Maven.flash [compile].executor": "Run", - "Maven.flash [install].executor": "Run", - "Maven.flash [test].executor": "Run", - "Maven.flash-bench [clean].executor": "Run", - "Maven.flash-bench [install].executor": "Run", - "Maven.flash-bench [package].executor": "Run", - "Maven.flash-bench [validate].executor": "Run", - "Maven.flash-parent [install].executor": "Run", - "Maven.flash-parent [package].executor": "Run", - "ModuleVcsDetector.initialDetectionPerformed": "true", - "RunOnceActivity.MCP Project settings loaded": "true", - "RunOnceActivity.ShowReadmeOnStart": "true", - "RunOnceActivity.TerminalTabsStorage.copyFrom.TerminalArrangementManager.252": "true", - "RunOnceActivity.git.unshallow": "true", - "RunOnceActivity.typescript.service.memoryLimit.init": "true", - "SHARE_PROJECT_CONFIGURATION_FILES": "true", - "git-widget-placeholder": "master", - "ignore.virus.scanning.warn.message": "true", - "kotlin-language-version-configured": "true", - "last_opened_file_path": "C:/Users/elorc/Documents/Coding/Java/practice/Flash", - "node.js.detected.package.eslint": "true", - "node.js.detected.package.tslint": "true", - "node.js.selected.package.eslint": "(autodetect)", - "node.js.selected.package.tslint": "(autodetect)", - "nodejs_package_manager_path": "npm", - "onboarding.tips.debug.path": "C:/Users/elorc/Documents/Coding/Java/practice/FlashPractice/flash-bench/src/main/java/dev/relism/Main.java", - "project.structure.last.edited": "Modules", - "project.structure.proportion": "0.15", - "project.structure.side.proportion": "0.1150748", - "settings.editor.selected.configurable": "ml.llm.LLMThirdPartyAiProvidersConfigurable", - "vue.rearranger.settings.migration": "true" + +}]]> @@ -184,9 +187,20 @@