Clear ProducesRequestCondition attribute
Closes gh-23091
This commit is contained in:
@@ -326,6 +326,17 @@ public final class ProducesRequestCondition extends AbstractRequestCondition<Pro
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Use this to clear {@link #MEDIA_TYPES_ATTRIBUTE} that contains the parsed,
|
||||
* requested media types.
|
||||
* @param request the current request
|
||||
* @since 5.2
|
||||
*/
|
||||
public static void clearMediaTypesAttribute(HttpServletRequest request) {
|
||||
request.removeAttribute(MEDIA_TYPES_ATTRIBUTE);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parses and matches a single media type expression to a request's 'Accept' header.
|
||||
*/
|
||||
|
||||
@@ -48,6 +48,7 @@ import org.springframework.web.servlet.handler.RequestMatchResult;
|
||||
import org.springframework.web.servlet.mvc.condition.AbstractRequestCondition;
|
||||
import org.springframework.web.servlet.mvc.condition.CompositeRequestCondition;
|
||||
import org.springframework.web.servlet.mvc.condition.ConsumesRequestCondition;
|
||||
import org.springframework.web.servlet.mvc.condition.ProducesRequestCondition;
|
||||
import org.springframework.web.servlet.mvc.condition.RequestCondition;
|
||||
import org.springframework.web.servlet.mvc.method.RequestMappingInfo;
|
||||
import org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping;
|
||||
@@ -441,4 +442,14 @@ public class RequestMappingHandlerMapping extends RequestMappingInfoHandlerMappi
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected HandlerMethod getHandlerInternal(HttpServletRequest request) throws Exception {
|
||||
try {
|
||||
return super.getHandlerInternal(request);
|
||||
}
|
||||
finally {
|
||||
ProducesRequestCondition.clearMediaTypesAttribute(request);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user