-package com.att.nsa.dmaap.util;\r
-\r
-import java.util.Map;\r
-import javax.servlet.http.HttpServletRequest;\r
-import javax.servlet.http.HttpServletResponse;\r
-import org.apache.http.HttpStatus;\r
-import com.att.eelf.configuration.EELFLogger;\r
-import com.att.eelf.configuration.EELFManager;\r
-import org.json.JSONException;\r
-import org.json.JSONObject;\r
-import org.springframework.stereotype.Component;\r
-import org.onap.dmaap.dmf.mr.CambriaApiException;\r
-import org.onap.dmaap.dmf.mr.exception.DMaaPResponseCode;\r
-import org.onap.dmaap.dmf.mr.exception.ErrorResponse;\r
-import ajsc.beans.interceptors.AjscInterceptor;\r
-\r
-/**\r
- * AJSC Intercepter implementation of ContentLengthFilter\r
- */\r
-@Component\r
-public class ContentLengthInterceptor implements AjscInterceptor{\r
-\r
- \r
- private String defLength;\r
- //private Logger log = Logger.getLogger(ContentLengthInterceptor.class.toString());\r
- private static final EELFLogger log = EELFManager.getInstance().getLogger(ContentLengthInterceptor.class);\r
-\r
-\r
- /**\r
- * Intercepter method to intercept requests before processing\r
- */\r
- @Override\r
- public boolean allowOrReject(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse,\r
- Map map) throws Exception {\r
- \r
- log.info("inside Interceptor allowOrReject content length checking before pub/sub");\r
- \r
- JSONObject jsonObj = null;\r
- int requestLength = 0;\r
- setDefLength(System.getProperty("maxcontentlength"));\r
- try {\r
- // retrieving content length from message header\r
-\r
- if (null != httpservletrequest.getHeader("Content-Length")) {\r
- requestLength = Integer.parseInt(httpservletrequest.getHeader("Content-Length"));\r
- }\r
- // retrieving encoding from message header\r
- String transferEncoding = httpservletrequest.getHeader("Transfer-Encoding");\r
- // checking for no encoding, chunked and requestLength greater then\r
- // default length\r
- if (null != transferEncoding && !(transferEncoding.contains("chunked"))\r
- && (requestLength > Integer.parseInt(getDefLength()))) {\r
- jsonObj = new JSONObject().append("defaultlength", getDefLength())\r
- .append("requestlength", requestLength);\r
- log.error("message length is greater than default");\r
- throw new CambriaApiException(jsonObj);\r
- } \r
- else if (null == transferEncoding && (requestLength > Integer.parseInt(getDefLength()))) \r
- {\r
- jsonObj = new JSONObject().append("defaultlength", getDefLength()).append(\r
- "requestlength", requestLength);\r
- log.error("Request message is not chunked or request length is greater than default length");\r
- throw new CambriaApiException(jsonObj);\r
- \r
- \r
- } \r
- else \r
- {\r
- //chain.doFilter(req, res);\r
- return true;\r
- }\r
- \r
- } catch (CambriaApiException | NumberFormatException | JSONException e) {\r
- \r
- log.info("Exception obj--"+e);\r
+ package org.onap.dmaap.util;
+
+import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.apache.http.HttpStatus;
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.springframework.stereotype.Component;
+import org.onap.dmaap.dmf.mr.CambriaApiException;
+import org.onap.dmaap.dmf.mr.exception.DMaaPResponseCode;
+import org.onap.dmaap.dmf.mr.exception.ErrorResponse;
+import ajsc.beans.interceptors.AjscInterceptor;
+
+/**
+ * AJSC Intercepter implementation of ContentLengthFilter
+ */
+@Component
+public class ContentLengthInterceptor implements AjscInterceptor{
+
+
+ private String defLength;
+ //private Logger log = Logger.getLogger(ContentLengthInterceptor.class.toString());
+ private static final EELFLogger log = EELFManager.getInstance().getLogger(ContentLengthInterceptor.class);
+
+
+ /**
+ * Intercepter method to intercept requests before processing
+ */
+ @Override
+ public boolean allowOrReject(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse,
+ Map map) throws Exception {
+
+ log.info("inside Interceptor allowOrReject content length checking before pub/sub");
+
+ JSONObject jsonObj = null;
+ int requestLength = 0;
+ setDefLength(System.getProperty("maxcontentlength"));
+ try {
+ // retrieving content length from message header
+
+ if (null != httpservletrequest.getHeader("Content-Length")) {
+ requestLength = Integer.parseInt(httpservletrequest.getHeader("Content-Length"));
+ }
+ // retrieving encoding from message header
+ String transferEncoding = httpservletrequest.getHeader("Transfer-Encoding");
+ // checking for no encoding, chunked and requestLength greater then
+ // default length
+ if (null != transferEncoding && !(transferEncoding.contains("chunked"))
+ && (requestLength > Integer.parseInt(getDefLength()))) {
+ jsonObj = new JSONObject().append("defaultlength", getDefLength())
+ .append("requestlength", requestLength);
+ log.error("message length is greater than default");
+ throw new CambriaApiException(jsonObj);
+ }
+ else if (null == transferEncoding && (requestLength > Integer.parseInt(getDefLength())))
+ {
+ jsonObj = new JSONObject().append("defaultlength", getDefLength()).append(
+ "requestlength", requestLength);
+ log.error("Request message is not chunked or request length is greater than default length");
+ throw new CambriaApiException(jsonObj);
+
+
+ }
+ else
+ {
+ //chain.doFilter(req, res);
+ return true;
+ }
+
+ } catch (CambriaApiException | NumberFormatException | JSONException e) {
+
+ log.info("Exception obj--"+e);