com.sap.cds.framework.spring.feature.SpringRequestParametersProvider Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of cds-framework-spring-boot Show documentation
Show all versions of cds-framework-spring-boot Show documentation
Integration into the Spring Boot framework for CDS Services Java
/*********************************************************************
* (C) 2019 SAP SE or an SAP affiliate company. All rights reserved. *
*********************************************************************/
package com.sap.cds.framework.spring.feature;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.sap.cds.feature.runtime.RequestParametersProvider;
import com.sap.cds.services.runtime.RequestParameters;
import com.sap.cds.services.utils.runtime.RequestParametersUtils;
/**
* A {@link RequestParametersProvider} feature implementation for Spring-based framework which derives the context information from the current request information.
*/
public class SpringRequestParametersProvider implements RequestParametersProvider {
@Override
public RequestParameters getRequestParameters() {
RequestAttributes reqAttrs = RequestContextHolder.getRequestAttributes();
if (reqAttrs != null && reqAttrs instanceof ServletRequestAttributes) {
HttpServletRequest httpRequest = ((ServletRequestAttributes)reqAttrs).getRequest();
return RequestParametersUtils.fromRequest(httpRequest);
}
return null;
}
@Override
public boolean isActiveFeature() {
return true;
}
@Override
public String getFeatureName() {
return "Spring Request Parameters Provider";
}
}