From 3bc5b0848f210f7ce9bab1f6f1189b969f14c778 Mon Sep 17 00:00:00 2001
From: Sonia Zorba <sonia.zorba@inaf.it>
Date: Mon, 22 Mar 2021 13:56:12 +0100
Subject: [PATCH] Added URL encoding to group name in isMemberOf call

---
 .../java/it/inaf/ia2/transfer/auth/GmsClient.java    | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/src/main/java/it/inaf/ia2/transfer/auth/GmsClient.java b/src/main/java/it/inaf/ia2/transfer/auth/GmsClient.java
index 86d0df7..41260a4 100644
--- a/src/main/java/it/inaf/ia2/transfer/auth/GmsClient.java
+++ b/src/main/java/it/inaf/ia2/transfer/auth/GmsClient.java
@@ -1,6 +1,10 @@
 package it.inaf.ia2.transfer.auth;
 
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
 import java.util.Collections;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.cache.annotation.Cacheable;
@@ -14,9 +18,11 @@ import org.springframework.web.client.RestTemplate;
 @Component
 public class GmsClient {
 
+    private static final Logger LOG = LoggerFactory.getLogger(GmsClient.class);
+
     @Value("${gms_base_url}")
     private String gmsBaseUrl;
-    
+
     private final RestTemplate restTemplate;
 
     @Autowired
@@ -27,7 +33,9 @@ public class GmsClient {
     @Cacheable("gms_cache")
     public boolean isMemberOf(String token, String group) {
 
-        String url = gmsBaseUrl + "/vo/search/" + group;
+        LOG.trace("called isMemberOf for group " + group);
+        
+        String url = gmsBaseUrl + "/vo/search/" + URLEncoder.encode(group, StandardCharsets.UTF_8);
 
         String gmsResponse = restTemplate.exchange(url, HttpMethod.GET, getEntity(token), String.class).getBody();
         if (gmsResponse == null) {
-- 
GitLab