+++ /dev/null
-/*\r
- * Copyright © 2017-2018 AT&T Intellectual Property.\r
- * Modifications Copyright © 2018 IBM.\r
- * \r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-package org.onap.ccsdk.features.rest.adaptor.utils;\r
-\r
-import java.io.BufferedReader;\r
-import java.io.IOException;\r
-import java.io.InputStreamReader;\r
-import org.springframework.http.HttpRequest;\r
-import org.springframework.http.client.ClientHttpRequestExecution;\r
-import org.springframework.http.client.ClientHttpRequestInterceptor;\r
-import org.springframework.http.client.ClientHttpResponse;\r
-import com.att.eelf.configuration.EELFLogger;\r
-import com.att.eelf.configuration.EELFManager;\r
-\r
-public class LoggingRequestInterceptor implements ClientHttpRequestInterceptor {\r
-\r
- private static EELFLogger logger = EELFManager.getInstance().getLogger(LoggingRequestInterceptor.class);\r
-\r
- @Override\r
- public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution)\r
- throws IOException {\r
- traceRequest(request, body);\r
- ClientHttpResponse response = execution.execute(request, body);\r
- traceResponse(response);\r
- return response;\r
- }\r
-\r
- @SuppressWarnings({"squid:S2629", "squid:S3457"})\r
- private void traceRequest(HttpRequest request, byte[] body) throws IOException {\r
- logger.info("===========================request begin================================================");\r
- logger.info("URI : {}", request.getURI());\r
- logger.info("Method : {}", request.getMethod());\r
- logger.info("Headers : {}", request.getHeaders());\r
- logger.info("Request body: {}", new String(body, "UTF-8"));\r
- logger.debug("==========================request end================================================");\r
- }\r
-\r
- @SuppressWarnings({"squid:S2629", "squid:S3457"})\r
- private void traceResponse(ClientHttpResponse response) throws IOException {\r
- StringBuilder inputStringBuilder = new StringBuilder();\r
- BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(response.getBody(), "UTF-8"));\r
- String line = bufferedReader.readLine();\r
- while (line != null) {\r
- inputStringBuilder.append(line);\r
- inputStringBuilder.append('\n');\r
- line = bufferedReader.readLine();\r
- }\r
- logger.info("============================response begin==========================================");\r
- logger.info("Status code : {}", response.getStatusCode());\r
- logger.info("Status text : {}", response.getStatusText());\r
- logger.info("Headers : {}", response.getHeaders());\r
- logger.debug("Response body: {}", inputStringBuilder.toString());\r
- logger.debug("=======================response end=================================================");\r
- }\r
-\r
-}\r