Skip to content

Commit b95089c

Browse files
authored
fixes #703 update the codegen-web with the new light-hybrid-4j updates (#704)
1 parent 1684b1a commit b95089c

File tree

16 files changed

+67
-212
lines changed

16 files changed

+67
-212
lines changed

codegen-web/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,10 @@
7474
<groupId>com.networknt</groupId>
7575
<artifactId>rpc-router</artifactId>
7676
</dependency>
77+
<dependency>
78+
<groupId>com.networknt</groupId>
79+
<artifactId>rpc-security</artifactId>
80+
</dependency>
7781
<dependency>
7882
<groupId>com.networknt</groupId>
7983
<artifactId>security</artifactId>

codegen-web/src/main/java/com/networknt/codegen/handler/CodegenMultipleHandler.java

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.networknt.codegen.graphql.GraphqlGenerator;
99
import com.networknt.config.Config;
1010
import com.networknt.config.JsonMapper;
11-
import com.networknt.rpc.Handler;
11+
import com.networknt.rpc.HybridHandler;
1212
import com.networknt.rpc.router.JsonHandler;
1313
import com.networknt.rpc.router.ServiceHandler;
1414
import com.networknt.utility.HashUtil;
@@ -37,7 +37,7 @@
3737
* @author Steve Hu
3838
*/
3939
@ServiceHandler(id="lightapi.net/codegen/multiple/0.0.1")
40-
public class CodegenMultipleHandler implements Handler {
40+
public class CodegenMultipleHandler implements HybridHandler {
4141
static private final String CONFIG_NAME = "codegen-web";
4242
static private final String STATUS_INVALID_FRAMEWORK = "ERR11100";
4343
static private final String STATUS_MISSING_GENERATOR_ITEM = "ERR11101";
@@ -159,20 +159,4 @@ public ByteBuffer handle(HttpServerExchange exchange, Object input) {
159159
File file = new File(codegenWebConfig.getZipFolder() + separator + zipFile);
160160
return NioUtils.toByteBuffer(file);
161161
}
162-
163-
@Override
164-
public ByteBuffer validate(String serviceId, Object object) {
165-
// get schema from serviceId, remember that the schema is for the data object only.
166-
// the input object is the data attribute of the request body.
167-
Map<String, Object> serviceMap = (Map<String, Object>) JsonHandler.schema.get(serviceId);
168-
if(logger.isDebugEnabled()) {
169-
try {
170-
logger.debug("serviceId = " + serviceId + " serviceMap = " + Config.getInstance().getMapper().writeValueAsString(serviceMap));
171-
} catch (Exception e) {
172-
logger.error("Exception:", e);
173-
}
174-
}
175-
logger.debug("Skipping validation on generator request for now.");
176-
return null;
177-
}
178162
}

codegen-web/src/main/java/com/networknt/codegen/handler/CodegenSingleHandler.java

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import com.networknt.codegen.graphql.GraphqlGenerator;
99
import com.networknt.config.Config;
1010
import com.networknt.config.JsonMapper;
11-
import com.networknt.rpc.Handler;
11+
import com.networknt.rpc.HybridHandler;
1212
import com.networknt.rpc.router.JsonHandler;
1313
import com.networknt.rpc.router.ServiceHandler;
1414
import com.networknt.utility.HashUtil;
@@ -37,7 +37,7 @@
3737
* @author Steve Hu
3838
*/
3939
@ServiceHandler(id="lightapi.net/codegen/single/0.0.1")
40-
public class CodegenSingleHandler implements Handler {
40+
public class CodegenSingleHandler implements HybridHandler {
4141
static private final String CONFIG_NAME = "codegen-web";
4242
static private final String STATUS_INVALID_FRAMEWORK = "ERR11100";
4343
static private final String STATUS_MISSING_GENERATOR_ITEM = "ERR11101";
@@ -161,20 +161,4 @@ public ByteBuffer handle(HttpServerExchange exchange, Object input) {
161161
File file = new File(codegenWebConfig.getZipFolder() + separator + zipFile);
162162
return NioUtils.toByteBuffer(file);
163163
}
164-
165-
@Override
166-
public ByteBuffer validate(String serviceId, Object object) {
167-
// get schema from serviceId, remember that the schema is for the data object only.
168-
// the input object is the data attribute of the request body.
169-
Map<String, Object> serviceMap = (Map<String, Object>) JsonHandler.schema.get(serviceId);
170-
if(logger.isDebugEnabled()) {
171-
try {
172-
logger.debug("serviceId = " + serviceId + " serviceMap = " + Config.getInstance().getMapper().writeValueAsString(serviceMap));
173-
} catch (Exception e) {
174-
logger.error("Exception:", e);
175-
}
176-
}
177-
logger.debug("Skipping validation on generator request for now.");
178-
return null;
179-
}
180164
}

codegen-web/src/main/java/com/networknt/codegen/handler/FrameworkListHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import com.fasterxml.jackson.core.JsonProcessingException;
44
import com.networknt.codegen.FrameworkRegistry;
55
import com.networknt.config.Config;
6-
import com.networknt.rpc.Handler;
6+
import com.networknt.rpc.HybridHandler;
77
import com.networknt.rpc.router.ServiceHandler;
88
import com.networknt.utility.NioUtils;
99
import io.undertow.server.HttpServerExchange;
@@ -18,7 +18,7 @@
1818
* Created by steve on 26/04/17.
1919
*/
2020
@ServiceHandler(id="lightapi.net/codegen/listFramework/0.0.1")
21-
public class FrameworkListHandler implements Handler {
21+
public class FrameworkListHandler implements HybridHandler {
2222
static private final Logger logger = LoggerFactory.getLogger(FrameworkListHandler.class);
2323
static private Set<String> frameworks = FrameworkRegistry.getInstance().getFrameworks();
2424

codegen-web/src/main/java/com/networknt/codegen/handler/SchemaGetHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import com.networknt.codegen.FrameworkRegistry;
44
import com.networknt.codegen.Generator;
5-
import com.networknt.rpc.Handler;
5+
import com.networknt.rpc.HybridHandler;
66
import com.networknt.rpc.router.ServiceHandler;
77
import io.undertow.server.HttpServerExchange;
88
import io.undertow.util.HttpString;
@@ -17,7 +17,7 @@
1717
* Created by steve on 10/05/17.
1818
*/
1919
@ServiceHandler(id="lightapi.net/codegen/getSchema/0.0.1")
20-
public class SchemaGetHandler implements Handler {
20+
public class SchemaGetHandler implements HybridHandler {
2121
static private final Logger logger = LoggerFactory.getLogger(SchemaGetHandler.class);
2222

2323
@Override

codegen-web/src/main/java/com/networknt/codegen/handler/ValidateUploadFileHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.networknt.codegen.handler;
22

3-
import com.networknt.rpc.Handler;
3+
import com.networknt.rpc.HybridHandler;
44
import com.networknt.rpc.router.ServiceHandler;
55
import com.networknt.utility.NioUtils;
66
import io.undertow.server.HttpServerExchange;
@@ -20,7 +20,7 @@
2020
*/
2121
@Deprecated
2222
@ServiceHandler(id="lightapi.net/codegen/validateUploadFile/0.0.1")
23-
public class ValidateUploadFileHandler implements Handler {
23+
public class ValidateUploadFileHandler implements HybridHandler {
2424
static private final Logger logger = LoggerFactory.getLogger(ValidateUploadFileHandler.class);
2525

2626
/**

codegen-web/src/main/resources/config/handler.yml

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# Handler middleware chain configuration
22
---
3-
enabled: true
3+
enabled: ${handler.enabled:true}
4+
5+
# Configuration for the LightHttpHandler. The handler is the base class for all middleware, server and health handlers
6+
# set the Status Object in the AUDIT_INFO, for auditing purposes
7+
# default, if not set:false
8+
auditOnError: ${handler.auditOnError:false}
9+
10+
# set the StackTrace in the AUDIT_INFO, for auditing purposes
11+
# default, if not set:false
12+
auditStackTrace: ${handler.auditStackTrace:false}
413

514
#------------------------------------------------------------------------------
615
# Support individual handler chains for each separate endpoint. It allows framework
@@ -31,11 +40,12 @@ enabled: true
3140
handlers:
3241
# Light-framework cross-cutting concerns implemented in the microservice
3342
- com.networknt.exception.ExceptionHandler@exception
34-
- com.networknt.metrics.MetricsHandler@metrics
43+
# - com.networknt.metrics.MetricsHandler@metrics
3544
- com.networknt.traceability.TraceabilityHandler@traceability
3645
- com.networknt.correlation.CorrelationHandler@correlation
46+
# - com.networknt.jaeger.tracing.JaegerHandler@jaeger
3747
# Cors handler to handler post/put pre-flight
38-
- com.networknt.cors.CorsHttpHandler@cors
48+
# - com.networknt.cors.CorsHttpHandler@cors
3949
# - com.networknt.openapi.OpenApiHandler@specification
4050
# - com.networknt.openapi.JwtVerifyHandler@security
4151
# - com.networknt.body.BodyHandler@body
@@ -48,7 +58,12 @@ handlers:
4858
# - com.networknt.router.middleware.PathPrefixServiceHandler@path
4959
# - com.networknt.router.RouterHandler@router
5060
# - com.networknt.resource.PathResourceHandler@resource
61+
- com.networknt.rpc.router.SchemaHandler@schema
5162
- com.networknt.rpc.router.JsonHandler@json
63+
- com.networknt.rpc.security.HybridJwtVerifyHandler@jwt
64+
- com.networknt.apikey.ApiKeyHandler@apikey
65+
- com.networknt.basicauth.BasicAuthHandler@basic
66+
- com.networknt.security.UnifiedSecurityHandler@security
5267
# Customer business domain specific cross-cutting concerns handlers
5368
# - com.example.validator.CustomizedValidator@custvalidator
5469
# Framework endpoint handlers
@@ -59,9 +74,10 @@ handlers:
5974
chains:
6075
default:
6176
- exception
62-
- metrics
6377
- traceability
6478
- correlation
79+
- schema
80+
- security
6581
- json
6682

6783
paths:
@@ -74,13 +90,13 @@ paths:
7490
exec:
7591
- default
7692

77-
- path: '/health/com.networknt.codegen-web-2.0.0'
93+
- path: '/adm/health/com.networknt.portal.hybrid.command-1.0.0'
7894
method: 'get'
7995
exec:
8096
- health
8197

8298
# In most case, the /server/info endpoint shouldn't be exposed. If it is, then it must be protected by OAuth 2.0 or Basic Auth
83-
- path: '/server/info'
99+
- path: '/adm/server/info'
84100
method: 'get'
85101
exec:
86102
- info

codegen-web/src/main/resources/config/hybrid-security.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

codegen-web/src/main/resources/config/server.yml

Lines changed: 0 additions & 49 deletions
This file was deleted.

codegen-web/src/main/resources/config/service.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
# Singleton service factory configuration/IoC injection
22
singletons:
3-
# HandlerProvider implementation
4-
- com.networknt.handler.HandlerProvider:
5-
- com.networknt.rpc.router.RpcRouter
63
# StartupHookProvider implementations
74
- com.networknt.server.StartupHookProvider:
85
# registry all service handlers by from annotations

0 commit comments

Comments
 (0)