|
4 | 4 | import com.networknt.aws.lambda.handler.MiddlewareHandler; |
5 | 5 | import com.networknt.aws.lambda.LightLambdaExchange; |
6 | 6 | import com.networknt.header.HeaderConfig; |
| 7 | +import com.networknt.header.HeaderPathPrefixConfig; |
| 8 | +import com.networknt.header.HeaderRequestConfig; |
7 | 9 | import com.networknt.status.Status; |
8 | 10 | import org.slf4j.Logger; |
9 | 11 | import org.slf4j.LoggerFactory; |
@@ -47,28 +49,28 @@ public Status execute(final LightLambdaExchange exchange) { |
47 | 49 | if(LOG.isTraceEnabled()) LOG.trace("Request header removeList found."); |
48 | 50 | removeHeaders(removeList, requestHeaders); |
49 | 51 | } |
50 | | - Map<String, Object> updateMap = CONFIG.getRequestUpdateMap(); |
| 52 | + Map<String, String> updateMap = CONFIG.getRequestUpdateMap(); |
51 | 53 | if(updateMap != null) { |
52 | 54 | if(LOG.isTraceEnabled()) LOG.trace("Request header updateMap found."); |
53 | 55 | updateHeaders(updateMap, requestHeaders); |
54 | 56 | } |
55 | 57 |
|
56 | 58 | // handle per path prefix header if configured |
57 | | - Map<String, Object> pathPrefixHeader = CONFIG.getPathPrefixHeader(); |
| 59 | + Map<String, HeaderPathPrefixConfig> pathPrefixHeader = CONFIG.getPathPrefixHeader(); |
58 | 60 | if(pathPrefixHeader != null) { |
59 | 61 | String path = exchange.getRequest().getPath(); |
60 | | - for (Map.Entry<String, Object> entry : pathPrefixHeader.entrySet()) { |
| 62 | + for (Map.Entry<String, HeaderPathPrefixConfig> entry : pathPrefixHeader.entrySet()) { |
61 | 63 | if(path.startsWith(entry.getKey())) { |
62 | | - if(LOG.isTraceEnabled()) LOG.trace("Found path " + path + " with prefix " + entry.getKey()); |
63 | | - Map<String, Object> valueMap = (Map<String, Object>)entry.getValue(); |
64 | | - Map<String, Object> requestHeaderMap = (Map<String, Object>)valueMap.get(HeaderConfig.REQUEST); |
65 | | - if(requestHeaderMap != null) { |
66 | | - List<String> requestHeaderRemoveList = (List<String>)requestHeaderMap.get(HeaderConfig.REMOVE); |
| 64 | + if(LOG.isTraceEnabled()) LOG.trace("Found path {} with prefix {}", path, entry.getKey()); |
| 65 | + HeaderPathPrefixConfig headerPathPrefixConfig = entry.getValue(); |
| 66 | + HeaderRequestConfig headerRequestConfig = headerPathPrefixConfig.getRequest(); |
| 67 | + if(headerRequestConfig != null) { |
| 68 | + List<String> requestHeaderRemoveList = headerRequestConfig.getRemove(); |
67 | 69 | if(requestHeaderRemoveList != null) { |
68 | 70 | if(LOG.isTraceEnabled()) LOG.trace("Request header path prefix removeList found."); |
69 | 71 | removeHeaders(requestHeaderRemoveList, requestHeaders); |
70 | 72 | } |
71 | | - Map<String, Object> requestHeaderUpdateMap = (Map<String, Object>)requestHeaderMap.get(HeaderConfig.UPDATE); |
| 73 | + Map<String, String> requestHeaderUpdateMap = headerRequestConfig.getUpdate(); |
72 | 74 | if(requestHeaderUpdateMap != null) { |
73 | 75 | if(LOG.isTraceEnabled()) LOG.trace("Request header path prefix updateMap found."); |
74 | 76 | updateHeaders(requestHeaderUpdateMap, requestHeaders); |
|
0 commit comments