diff --git a/src/main/java/org/springframework/hateoas/Links.java b/src/main/java/org/springframework/hateoas/Links.java index 7c2b99b1..b2521031 100644 --- a/src/main/java/org/springframework/hateoas/Links.java +++ b/src/main/java/org/springframework/hateoas/Links.java @@ -45,7 +45,7 @@ import com.fasterxml.jackson.annotation.JsonValue; public class Links implements Iterable { public static final Links NONE = new Links(Collections.emptyList()); - private static final Pattern LINK_HEADER_PATTERN = Pattern.compile("(<[^>]*>(;\\s*\\w+=\"?[^\"]*\"?)+)"); + private static final Pattern LINK_HEADER_PATTERN = Pattern.compile("(<[^>]*>(;\\s*\\w+=\"?[^\",]*\"?)+)"); private final List links; @@ -91,8 +91,8 @@ public class Links implements Iterable { return NONE; } - Matcher matcher = LINK_HEADER_PATTERN.matcher(source); List links = new ArrayList<>(); + Matcher matcher = LINK_HEADER_PATTERN.matcher(source); while (matcher.find()) { diff --git a/src/test/java/org/springframework/hateoas/LinksUnitTest.java b/src/test/java/org/springframework/hateoas/LinksUnitTest.java index 79c9d503..5864e000 100755 --- a/src/test/java/org/springframework/hateoas/LinksUnitTest.java +++ b/src/test/java/org/springframework/hateoas/LinksUnitTest.java @@ -55,10 +55,13 @@ class LinksUnitTest { Link.of("/somethingElse", "bar").withHreflang("de")); // #1899 - static final String FIVE = ";rel=boo"; + static final String FIVE = ";rel=boo"; static final String SIX = "; rel=bee"; - static final String LINKS3 = StringUtils.collectionToCommaDelimitedString(Arrays.asList(FIVE, SIX)); - static final Links reference3 = Links.of(Link.of("/somethingElse", "boo"), Link.of("/somethingElse", "bee")); + static final String SEVEN = ";rel=beeboo;title=sometitle"; + static final String LINKS3 = StringUtils.collectionToCommaDelimitedString(Arrays.asList(FIVE, SIX, SEVEN)); + static final Links reference3 = Links.of(Link.of("/somethingElse?foo=one,two", "boo"), // + Link.of("/somethingElse", "bee"), + Link.of("/somethingElse", "beeboo").withTitle("sometitle")); @Test void parsesLinkHeaderLinks() {