Release version 1.1.0 of sli/plugins
[ccsdk/sli/plugins.git] / restconf-client / provider / src / main / java / org / onap / ccsdk / sli / plugins / restconfdiscovery / AdditionalHeaderWebTarget.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - CCSDK
4  * ================================================================================
5  * Copyright (C) 2018 Huawei Technologies Co., Ltd. All rights reserved.
6  *
7  * Modifications Copyright © 2018 IBM
8  * ================================================================================
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  *      http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  * ============LICENSE_END=========================================================
21  */
22
23 package org.onap.ccsdk.sli.plugins.restconfdiscovery;
24
25 import javax.ws.rs.client.Invocation;
26 import javax.ws.rs.client.WebTarget;
27 import javax.ws.rs.core.Configuration;
28 import javax.ws.rs.core.MediaType;
29 import javax.ws.rs.core.UriBuilder;
30 import java.net.URI;
31 import java.util.Map;
32
33 /**
34  * Adds additional headers for SSE request.
35  */
36 class AdditionalHeaderWebTarget implements WebTarget {
37     private WebTarget base;
38     private String token;
39
40     private String accessToken = "X-ACCESS-TOKEN";
41
42     public AdditionalHeaderWebTarget(WebTarget target, String token) {
43         base = target;
44         this.token = token;
45     }
46
47     @Override
48     public Invocation.Builder request() {
49         return base.request().header(accessToken, token);
50     }
51
52     @Override
53     public Invocation.Builder request(String... acceptedResponseTypes) {
54         return base.request().header(accessToken, token);
55     }
56
57     @Override
58     public Invocation.Builder request(MediaType... acceptedResponseTypes) {
59         return base.request().header(accessToken, token);
60     }
61
62     @Override
63     public Configuration getConfiguration() {
64         return base.getConfiguration();
65     }
66
67     @Override
68     public URI getUri() {
69         return base.getUri();
70     }
71
72     @Override
73     public UriBuilder getUriBuilder() {
74         return base.getUriBuilder();
75     }
76
77     @Override
78     public WebTarget path(String path) {
79         return base.path(path);
80     }
81
82     @Override
83     public WebTarget resolveTemplate(String name, Object value) {
84         return base.resolveTemplate(name, value);
85     }
86
87     @Override
88     public WebTarget resolveTemplate(String name, Object value, boolean encodeSlashInPath) {
89         return base.resolveTemplate(name, value, encodeSlashInPath);
90     }
91
92     @Override
93     public WebTarget resolveTemplateFromEncoded(String name, Object value) {
94         return base.resolveTemplateFromEncoded(name, value);
95     }
96
97     @Override
98     public WebTarget resolveTemplates(Map<String, Object> templateValues) {
99         return base.resolveTemplates(templateValues);
100     }
101
102     @Override
103     public WebTarget resolveTemplates(Map<String, Object> templateValues, boolean encodeSlashInPath) {
104         return base.resolveTemplates(templateValues, encodeSlashInPath);
105     }
106
107     @Override
108     public WebTarget resolveTemplatesFromEncoded(Map<String, Object> templateValues) {
109         return base.resolveTemplatesFromEncoded(templateValues);
110     }
111
112     @Override
113     public WebTarget matrixParam(String name, Object... values) {
114         return base.matrixParam(name, values);
115     }
116
117     @Override
118     public WebTarget queryParam(String name, Object... values) {
119         return base.queryParam(name, values);
120     }
121
122     @Override
123     public WebTarget property(String name, Object value) {
124         return base.property(name, value);
125     }
126
127     @Override
128     public WebTarget register(Class<?> componentClass) {
129         return base.register(componentClass);
130     }
131
132     @Override
133     public WebTarget register(Class<?> componentClass, int priority) {
134         return base.register(componentClass, priority);
135     }
136
137     @Override
138     public WebTarget register(Class<?> componentClass, Class<?>... contracts) {
139         return base.register(componentClass, contracts);
140     }
141
142     @Override
143     public WebTarget register(Class<?> componentClass, Map<Class<?>, Integer> contracts) {
144         return base.register(componentClass, contracts);
145     }
146
147     @Override
148     public WebTarget register(Object component) {
149         return base.register(component);
150     }
151
152     @Override
153     public WebTarget register(Object component, int priority) {
154         return base.register(component, priority);
155     }
156
157     @Override
158     public WebTarget register(Object component, Class<?>... contracts) {
159         return base.register(component, contracts);
160     }
161
162     @Override
163     public WebTarget register(Object component, Map<Class<?>, Integer> contracts) {
164         return base.register(component, contracts);
165     }
166 }