Fix recursive logic
This commit is contained in:
@@ -66,9 +66,11 @@ public class MappingController {
|
|||||||
private void setRequesterInfo(ALookupRequest lookupReq, HttpServletRequest req) {
|
private void setRequesterInfo(ALookupRequest lookupReq, HttpServletRequest req) {
|
||||||
lookupReq.setRequester(req.getRemoteAddr());
|
lookupReq.setRequester(req.getRemoteAddr());
|
||||||
String xff = req.getHeader("X-FORWARDED-FOR");
|
String xff = req.getHeader("X-FORWARDED-FOR");
|
||||||
lookupReq.setRecursive(StringUtils.isNotBlank(xff));
|
log.debug("XFF header: {}", xff);
|
||||||
if (lookupReq.isRecursive()) {
|
lookupReq.setRecursive(StringUtils.isBlank(xff));
|
||||||
|
if (!lookupReq.isRecursive()) {
|
||||||
lookupReq.setRecurseHosts(Arrays.asList(xff.split(",")));
|
lookupReq.setRecurseHosts(Arrays.asList(xff.split(",")));
|
||||||
|
lookupReq.setRequester(lookupReq.getRecurseHosts().get(lookupReq.getRecurseHosts().size() - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
lookupReq.setUserAgent(req.getHeader("USER-AGENT"));
|
lookupReq.setUserAgent(req.getHeader("USER-AGENT"));
|
||||||
@@ -106,7 +108,7 @@ public class MappingController {
|
|||||||
String bulkLookup(HttpServletRequest request) {
|
String bulkLookup(HttpServletRequest request) {
|
||||||
BulkLookupRequest lookupRequest = new BulkLookupRequest();
|
BulkLookupRequest lookupRequest = new BulkLookupRequest();
|
||||||
setRequesterInfo(lookupRequest, request);
|
setRequesterInfo(lookupRequest, request);
|
||||||
log.info("Got single lookup request from {} with client {} - Is recursive? {}", lookupRequest.getRequester(), lookupRequest.getUserAgent(), lookupRequest.isRecursive());
|
log.info("Got bulk lookup request from {} with client {} - Is recursive? {}", lookupRequest.getRequester(), lookupRequest.getUserAgent(), lookupRequest.isRecursive());
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ClientBulkLookupRequest input = parser.parse(request, ClientBulkLookupRequest.class);
|
ClientBulkLookupRequest input = parser.parse(request, ClientBulkLookupRequest.class);
|
||||||
|
|||||||
Reference in New Issue
Block a user