Skip to content

Commit fea1c6c

Browse files
committed
Fixes #2501
1 parent c9f992c commit fea1c6c

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

modules/cpr/src/main/java/org/atmosphere/cpr/AtmosphereRequestImpl.java

+6-1
Original file line numberDiff line numberDiff line change
@@ -1417,7 +1417,12 @@ public static AtmosphereRequest wrap(HttpServletRequest request) {
14171417
String s;
14181418
while (e.hasMoreElements()) {
14191419
s = e.nextElement();
1420-
b.localAttributes.put(s, attributeWithoutException(request, s));
1420+
Object value = attributeWithoutException(request, s);
1421+
if (value != null) { // Check for null values
1422+
b.localAttributes.put(s, value);
1423+
} else {
1424+
logger.warn("Attribute {} is null", s);
1425+
}
14211426
}
14221427
return b.request(request).build();
14231428
}

modules/cpr/src/test/java/org/atmosphere/cpr/AtmosphereRequestTest.java

+17
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,17 @@
2424
import javax.servlet.ServletConfig;
2525
import javax.servlet.ServletContext;
2626
import javax.servlet.ServletException;
27+
import javax.servlet.http.HttpServletRequest;
2728
import java.io.IOException;
29+
import java.util.Arrays;
30+
import java.util.Collections;
2831
import java.util.Enumeration;
2932
import java.util.HashMap;
3033
import java.util.Map;
3134
import java.util.concurrent.atomic.AtomicReference;
3235

3336
import static org.mockito.Mockito.mock;
37+
import static org.mockito.Mockito.when;
3438
import static org.testng.Assert.assertEquals;
3539
import static org.testng.Assert.assertFalse;
3640
import static org.testng.Assert.assertNotNull;
@@ -335,4 +339,17 @@ public void testForceContentType() throws Exception {
335339
assertNull(request.getContentType());
336340
}
337341

342+
@Test
343+
public void testWrapMethodWithNullAttributeValue() throws IOException, ServletException {
344+
HttpServletRequest mockRequest = mock(HttpServletRequest.class);
345+
when(mockRequest.getAttributeNames()).thenReturn(Collections.enumeration(Arrays.asList("org.eclipse.jetty.multipartConfig")));
346+
when(mockRequest.getAttribute("org.eclipse.jetty.multipartConfig")).thenReturn(null);
347+
348+
AtmosphereRequest wrappedRequest = AtmosphereRequestImpl.wrap(mockRequest);
349+
350+
assertNotNull(wrappedRequest, "Wrapped request should not be null");
351+
assertNull(wrappedRequest.getAttribute("org.eclipse.jetty.multipartConfig"), "Attribute value should be null");
352+
}
353+
354+
338355
}

0 commit comments

Comments
 (0)