Skip to content

Commit 935c7d8

Browse files
committed
feat: support Base64URLEncodedPacker
1 parent cdc4e41 commit 935c7d8

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

packer/src/main/java/com/reajason/javaweb/packer/Packers.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.reajason.javaweb.packer.aviator.AviatorPacker;
44
import com.reajason.javaweb.packer.base64.Base64Packer;
5+
import com.reajason.javaweb.packer.base64.Base64URLEncoded;
56
import com.reajason.javaweb.packer.base64.DefaultBase64Packer;
67
import com.reajason.javaweb.packer.base64.GzipBase64Packer;
78
import com.reajason.javaweb.packer.bsh.BeanShellPacker;
@@ -68,6 +69,7 @@ public enum Packers {
6869
*/
6970
Base64(new Base64Packer()),
7071
DefaultBase64(new DefaultBase64Packer(), Base64Packer.class),
72+
Base64URLEncoded(new Base64URLEncoded(), Base64Packer.class),
7173
GzipBase64(new GzipBase64Packer(), Base64Packer.class),
7274

7375
Jar(new DefaultJarPacker()),
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.reajason.javaweb.packer.base64;
2+
3+
import com.reajason.javaweb.packer.ClassPackerConfig;
4+
import com.reajason.javaweb.packer.Packer;
5+
import lombok.SneakyThrows;
6+
7+
import java.net.URLEncoder;
8+
import java.nio.charset.StandardCharsets;
9+
10+
/**
11+
* @author ReaJason
12+
* @since 2025/9/2
13+
*/
14+
public class Base64URLEncoded implements Packer {
15+
16+
@Override
17+
@SneakyThrows
18+
public String pack(ClassPackerConfig config) {
19+
return URLEncoder.encode(config.getClassBytesBase64Str(), StandardCharsets.UTF_8.name());
20+
}
21+
}

0 commit comments

Comments
 (0)