diff --git a/wizard-server/src/main/java/org/cobbzilla/wizard/filters/RateLimitFilter.java b/wizard-server/src/main/java/org/cobbzilla/wizard/filters/RateLimitFilter.java index 3122f5a..02d24d0 100644 --- a/wizard-server/src/main/java/org/cobbzilla/wizard/filters/RateLimitFilter.java +++ b/wizard-server/src/main/java/org/cobbzilla/wizard/filters/RateLimitFilter.java @@ -60,13 +60,13 @@ public abstract class RateLimitFilter implements ContainerRequestFilter { final Principal user = empty(request.getSecurityContext()) ? null : request.getSecurityContext().getUserPrincipal(); if (!empty(user)) { if (allowUnlimitedUse(user, request)) { - if (log.isTraceEnabled()) log.trace("getKeys: unlimited use permitted (user="+user+", request.uri=" + request.getUriInfo().getRequestUri().toString() + "), returning null (no keys)"); + if (log.isTraceEnabled()) log.trace("getKeys: unlimited use permitted (user="+user+", request.uri=" + getUrl(request) + "), returning null (no keys)"); return null; } key = user.getName(); } else if (allowUnlimitedUse(null, request)) { - if (log.isTraceEnabled()) log.trace("getKeys: (empty user) unlimited use permitted (request.uri=" + request.getUriInfo().getRequestUri().toString() + "), returning null (no keys)"); + if (log.isTraceEnabled()) log.trace("getKeys: (empty user) unlimited use permitted (request.uri=" + getUrl(request) + "), returning null (no keys)"); return null; } else { @@ -112,15 +112,21 @@ public abstract class RateLimitFilter implements ContainerRequestFilter { if (i != null) { final List limits = getLimits(); if (i < 0 || i >= limits.size()) { - log.warn("filter: unknown limit ("+i+") exceeded for keys: "+StringUtil.toString(keys)+" with url="+request.getUriInfo().getRequestUri().toString()); + log.warn("filter: unknown limit ("+i+") exceeded for keys: "+ keysString(keys) +" with url="+ getUrl(request) +", path="+getPath(request)); } else { - log.warn("filter: limit ("+limits.get(i.intValue())+") exceeded for keys: "+StringUtil.toString(keys)+" with url="+request.getUriInfo().getRequestUri().toString()); + log.warn("filter: limit ("+limits.get(i.intValue())+") exceeded for keys: "+ keysString(keys) +" with url="+ getUrl(request) +", path="+getPath(request)); } throw new WebApplicationException(status(TOO_MANY_REQUESTS)); } else if (log.isTraceEnabled()) { - log.trace("filter: incrementing counter for keys: "+StringUtil.toString(keys)+" with url="+request.getUriInfo().getRequestUri().toString()); + log.trace("filter: incrementing counter for keys: "+ keysString(keys) +" with url="+ getUrl(request) +", path="+getPath(request)); } } + public static String keysString(List keys) { return StringUtil.toString(keys); } + + public static String getUrl(ContainerRequestContext request) { return request.getUriInfo().getRequestUri().toString(); } + + public static String getPath(ContainerRequestContext request) { return request.getUriInfo().getPath(); } + }