40d6ba6319068d5468fc35daa8ea1d44301da34d
[ccsdk/cds.git] /
1 /*
2  * Copyright © 2017-2018 AT&T Intellectual Property.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.ccsdk.apps.blueprintsprocessor.rest.utils
18
19 import org.slf4j.LoggerFactory
20 import org.springframework.web.reactive.function.client.ExchangeFilterFunction
21 import reactor.core.publisher.Mono
22
23
24 class WebClientUtils {
25     companion object {
26
27         val log = LoggerFactory.getLogger(WebClientUtils::class.java)!!
28
29         fun logRequest(): ExchangeFilterFunction {
30
31             return ExchangeFilterFunction.ofRequestProcessor { clientRequest ->
32                 log.info("Rest request method(${clientRequest.method()}), url(${clientRequest.url()})")
33                 Mono.just(clientRequest)
34             }
35         }
36
37         fun logResponse(): ExchangeFilterFunction {
38             return ExchangeFilterFunction.ofResponseProcessor { clientResponse ->
39                 log.info("Response status(${clientResponse.statusCode()})")
40                 Mono.just(clientResponse)
41             }
42         }
43     }
44 }