Skip to content

Commit d9a22ee

Browse files
committed
Added version number to queue url
1 parent f0cb218 commit d9a22ee

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

QueueIT.Security/src/queueit/security/Queue.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
package queueit.security;
22

3+
import java.io.File;
4+
import java.io.IOException;
35
import java.util.Locale;
46
import java.io.UnsupportedEncodingException;
57
import java.net.URLEncoder;
68
import java.util.UUID;
9+
import java.util.jar.Attributes;
10+
import static java.util.jar.Attributes.Name.IMPLEMENTATION_VERSION;
11+
import java.util.jar.JarFile;
12+
import java.util.jar.Manifest;
13+
import java.util.logging.Level;
14+
import java.util.logging.Logger;
715
import java.util.regex.Matcher;
816
import java.util.regex.Pattern;
917
import javax.servlet.http.HttpServletRequest;
@@ -241,9 +249,30 @@ private UriComponentsBuilder generateQueueUrl(Boolean sslEnabled, String domainA
241249
uri.queryParam("l", encodedLayoutName);
242250
}
243251

252+
uri.queryParam("ver", "j" + getVersionNumber());
253+
244254
return uri;
245255
}
246256

257+
private String getVersionNumber() {
258+
// Get jarfile url
259+
String jarUrl = Queue.class
260+
.getProtectionDomain().getCodeSource()
261+
.getLocation().getFile();
262+
263+
try {
264+
JarFile jar = new JarFile(new File(jarUrl));
265+
266+
Manifest manifest = jar.getManifest();
267+
Attributes attributes = manifest.getMainAttributes();
268+
269+
return attributes.getValue(IMPLEMENTATION_VERSION);
270+
271+
} catch (IOException ex) {
272+
return "unknown";
273+
}
274+
}
275+
247276
private static String encodeURIComponent(String s) {
248277
String result;
249278

0 commit comments

Comments
 (0)