diff --git a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java index 3f3391dc59e07543783b8d73267197c8c3cf6a2c..6810b90badb70d384c6e726d7cf44ea31e458d38 100644 --- a/spring-web/src/main/java/org/springframework/http/HttpHeaders.java +++ b/spring-web/src/main/java/org/springframework/http/HttpHeaders.java @@ -224,7 +224,7 @@ public class HttpHeaders implements MultiValueMap, Serializable */ public Set getAllow() { String value = getFirst(ALLOW); - if (value != null) { + if (!StringUtils.isEmpty(value)) { List allowedMethod = new ArrayList(5); String[] tokens = value.split(",\\s*"); for (String token : tokens) { diff --git a/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java b/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java index caa6c1804c952aff3f6f3b3d62764dc61bb8a835..086cbfba6e532b9c8bfb12d651126c1fdcea83fe 100644 --- a/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java +++ b/spring-web/src/test/java/org/springframework/http/HttpHeadersTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2011 the original author or authors. + * Copyright 2002-2014 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,18 +22,23 @@ import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; +import java.util.Collections; import java.util.EnumSet; import java.util.GregorianCalendar; import java.util.List; import java.util.Locale; +import java.util.Set; import java.util.TimeZone; +import org.hamcrest.Matchers; import org.junit.Before; import org.junit.Test; import static org.junit.Assert.*; -/** @author Arjen Poutsma */ +/** + * @author Arjen Poutsma + */ public class HttpHeadersTests { private HttpHeaders headers; @@ -256,5 +261,13 @@ public class HttpHeadersTests { headers.getFirst("Content-Disposition")); } + // SPR-11917 + + @Test + public void getAllowEmptySet() { + headers.setAllow(Collections. emptySet()); + + assertThat(headers.getAllow(), Matchers.emptyCollectionOf(HttpMethod.class)); + } }