Browse Source

Restore `Session.Cookie` class for binary back-compatibility

Fixes gh-38589
pull/38674/head
Phillip Webb 2 years ago
parent
commit
b5de38787c
  1. 10
      spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/server/Session.java
  2. 36
      spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/SessionTests.java

10
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/server/Session.java

@ -23,7 +23,6 @@ import java.util.Set; @@ -23,7 +23,6 @@ import java.util.Set;
import org.springframework.boot.context.properties.NestedConfigurationProperty;
import org.springframework.boot.convert.DurationUnit;
import org.springframework.boot.web.server.Cookie;
/**
* Session properties.
@ -103,6 +102,15 @@ public class Session { @@ -103,6 +102,15 @@ public class Session {
return this.sessionStoreDirectory;
}
/**
* Session cookie properties. This class is provided only for back-compatibility
* reasons, consider using {@link org.springframework.boot.web.server.Cookie} whever
* possible.
*/
public static class Cookie extends org.springframework.boot.web.server.Cookie {
}
/**
* Available session tracking modes (mirrors
* {@link jakarta.servlet.SessionTrackingMode}.

36
spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/SessionTests.java

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
/*
* Copyright 2012-2023 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.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.web.servlet.server;
import org.junit.jupiter.api.Test;
import static org.assertj.core.api.Assertions.assertThat;
/**
* Tests for {@link Session}.
*
* @author Phillip Webb
*/
class SessionTests {
@Test // gh-38589
void getCookieIsBinaryBackCompatible() throws Exception {
Class<?> returnType = Session.class.getDeclaredMethod("getCookie").getReturnType();
assertThat(returnType.getName()).isEqualTo("org.springframework.boot.web.servlet.server.Session$Cookie");
}
}
Loading…
Cancel
Save