Skip to content

Commit 4713832

Browse files
committed
endpoints-control: strip brackets of IPv6 addresses for check API.
cloudendpoints#66
1 parent 1e84f80 commit 4713832

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

endpoints-control/src/main/java/com/google/api/control/ControlFilter.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,10 @@ private CheckRequestInfo createCheckInfo(HttpServletRequest request, String uri,
370370
apiKey = findDefaultApiKeyParam(request);
371371
}
372372

373+
// The Service Control check API expects IPv6 addresses formatted without brackets ('[' and ']'), so strip them.
374+
String ipAddress = request.getRemoteAddr();
375+
String strippedIpAddress = ipAddress.replace("[", "").replace("]", "");
376+
373377
return new CheckRequestInfo(new OperationInfo()
374378
.setApiKey(apiKey)
375379
.setApiKeyValid(!Strings.isNullOrEmpty(apiKey))
@@ -378,7 +382,7 @@ private CheckRequestInfo createCheckInfo(HttpServletRequest request, String uri,
378382
.setOperationId(nextOperationId())
379383
.setOperationName(info.getSelector())
380384
.setServiceName(serviceName))
381-
.setClientIp(request.getRemoteAddr())
385+
.setClientIp(strippedIpAddress)
382386
.setAndroidPackageName(request.getHeader(X_ANDROID_PACKAGE))
383387
.setAndroidCertificateFingerprint(request.getHeader(X_ANDROID_CERT))
384388
.setIosBundleId(request.getHeader(X_IOS_BUNDLE_ID));

0 commit comments

Comments
 (0)