Skip to content

Commit 2abcdaa

Browse files
committed
Merge pull request spring-projects#93 from maxcom/SPR-8917
* SPR-8917: Allow parsing of media types with single-quotes
2 parents ab4952a + 7cdc534 commit 2abcdaa

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

spring-web/src/main/java/org/springframework/http/MediaType.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,12 @@ else if (!isQuotedString(value)) {
376376
}
377377

378378
private boolean isQuotedString(String s) {
379-
return s.length() > 1 && s.startsWith("\"") && s.endsWith("\"") ;
379+
if (s.length() < 2) {
380+
return false;
381+
}
382+
else {
383+
return ((s.startsWith("\"") && s.endsWith("\"")) || (s.startsWith("'") && s.endsWith("'")));
384+
}
380385
}
381386

382387
private String unquote(String s) {

spring-web/src/test/java/org/springframework/http/MediaTypeTests.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,14 @@ public void parseMediaTypeQuotedParameterValue() {
181181
assertEquals("\"v>alue\"", mediaType.getParameter("attr"));
182182
}
183183

184+
// SPR-8917
185+
186+
@Test
187+
public void parseMediaTypeSingleQuotedParameterValue() {
188+
MediaType mediaType = MediaType.parseMediaType("audio/*;attr='v>alue'");
189+
assertEquals("'v>alue'", mediaType.getParameter("attr"));
190+
}
191+
184192
@Test(expected = IllegalArgumentException.class)
185193
public void parseMediaTypeIllegalQuotedParameterValue() {
186194
MediaType.parseMediaType("audio/*;attr=\"");

0 commit comments

Comments
 (0)