All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sap.cds.framework.spring.feature.SpringRequestParametersProvider Maven / Gradle / Ivy

There is a newer version: 3.2.0
Show newest version
/*********************************************************************
 * (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";
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy