e91ee3311d7a2e343f9b71d2f5702d4f1e26bcb9
[ccsdk/apps.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP : CCSDK.apps
4  * ================================================================================
5  * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.ccsdk.apps.ms.neng.core.rs.interceptors;
22
23 import java.io.IOException;
24 import org.onap.ccsdk.apps.ms.neng.extinf.props.AaiProps;
25 import org.springframework.beans.factory.annotation.Autowired;
26 import org.springframework.http.HttpRequest;
27 import org.springframework.http.client.ClientHttpRequestExecution;
28 import org.springframework.http.client.ClientHttpRequestInterceptor;
29 import org.springframework.http.client.ClientHttpResponse;
30 import org.springframework.stereotype.Component;
31
32 /**
33  * Interceptor for adding authorization headers in the request to A&AI.
34  */
35 @Component
36 public class AaiAuthorizationInterceptor implements ClientHttpRequestInterceptor {
37     @Autowired
38     AaiProps aaiProps;
39
40     /**
41      * Intercepts the given request and adds additional headers, mainly for authorization.
42      */
43     @Override
44     public ClientHttpResponse intercept(HttpRequest httpRequest, byte[] body, ClientHttpRequestExecution executionChain)
45                     throws IOException {
46         httpRequest.getHeaders().clear();
47         httpRequest.getHeaders().add("x-FromAppId", aaiProps.getFromAppId());
48         httpRequest.getHeaders().add("x-TransactionId", aaiProps.getTransactionId());
49         httpRequest.getHeaders().add("Accept", "application/json");
50         httpRequest.getHeaders().add("Content-Type", "application/json");
51         return executionChain.execute(httpRequest, body);
52     }
53 }