Skip to content
This repository was archived by the owner on Dec 19, 2023. It is now read-only.

Commit 2972fcf

Browse files
authored
Merge pull request #824 from BlasiusSecundus/feature/quote-regex-input
fix: quote regex input string
2 parents 7d9e884 + a116835 commit 2972fcf

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/graphiql/GraphiQLController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.util.HashMap;
1616
import java.util.Map;
1717
import java.util.Optional;
18+
import java.util.regex.Pattern;
1819
import lombok.RequiredArgsConstructor;
1920
import lombok.extern.slf4j.Slf4j;
2021
import org.apache.commons.lang3.StringUtils;
@@ -195,7 +196,7 @@ private String constructGraphQlEndpoint(
195196
String contextPath, @RequestParam Map<String, String> params) {
196197
String endpoint = graphiQLProperties.getEndpoint().getGraphql();
197198
for (Map.Entry<String, String> param : params.entrySet()) {
198-
endpoint = endpoint.replaceAll("\\{" + param.getKey() + "}", param.getValue());
199+
endpoint = endpoint.replaceAll("\\{" + Pattern.quote(param.getKey()) + "}", param.getValue());
199200
}
200201
if (StringUtils.isNotBlank(contextPath) && !endpoint.startsWith(contextPath)) {
201202
return contextPath + endpoint;

graphql-spring-boot-autoconfigure/src/main/java/graphql/kickstart/autoconfigure/editor/voyager/VoyagerIndexHtmlTemplate.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.nio.charset.Charset;
88
import java.util.HashMap;
99
import java.util.Map;
10+
import java.util.regex.Pattern;
1011
import lombok.RequiredArgsConstructor;
1112
import org.apache.commons.lang3.StringUtils;
1213
import org.apache.commons.text.StringSubstitutor;
@@ -112,7 +113,7 @@ private String constructGraphQlEndpoint(
112113
String contextPath, @RequestParam Map<String, String> params) {
113114
String endpoint = voyagerConfiguration.getEndpoint();
114115
for (Map.Entry<String, String> param : params.entrySet()) {
115-
endpoint = endpoint.replaceAll("\\{" + param.getKey() + "}", param.getValue());
116+
endpoint = endpoint.replaceAll("\\{" + Pattern.quote(param.getKey()) + "}", param.getValue());
116117
}
117118
if (StringUtils.isNotBlank(contextPath) && !endpoint.startsWith(contextPath)) {
118119
return contextPath + endpoint;

0 commit comments

Comments
 (0)