Add authorization header in SSE request
[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  * 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.sli.plugins.restconfdiscovery;
22
23 import javax.ws.rs.client.Invocation;
24 import javax.ws.rs.client.WebTarget;
25 import javax.ws.rs.core.Configuration;
26 import javax.ws.rs.core.MediaType;
27 import javax.ws.rs.core.UriBuilder;
28 import java.net.URI;
29 import java.util.Map;
30
31 /**
32  * Adds additional headers for SSE request.
33  */
34 class AdditionalHeaderWebTarget implements WebTarget {
35     private WebTarget base;
36     private String token;
37
38     public AdditionalHeaderWebTarget(WebTarget target, String token) {
39         base = target;
40         this.token = token;
41     }
42
43     @Override
44     public Invocation.Builder request() {
45         return base.request().header("X-ACCESS-TOKEN", token);
46     }
47
48     @Override
49     public Invocation.Builder request(String... acceptedResponseTypes) {
50         return base.request().header("X-ACCESS-TOKEN", token);
51     }
52
53     @Override
54     public Invocation.Builder request(MediaType... acceptedResponseTypes) {
55         return base.request().header("X-ACCESS-TOKEN", token);
56     }
57
58     @Override
59     public Configuration getConfiguration() {
60         return base.getConfiguration();
61     }
62
63     @Override
64     public URI getUri() {
65         return base.getUri();
66     }
67
68     @Override
69     public UriBuilder getUriBuilder() {
70         return base.getUriBuilder();
71     }
72
73     @Override
74     public WebTarget path(String path) {
75         return base.path(path);
76     }
77
78     @Override
79     public WebTarget resolveTemplate(String name, Object value) {
80         return base.resolveTemplate(name, value);
81     }
82
83     @Override
84     public WebTarget resolveTemplate(String name, Object value, boolean encodeSlashInPath) {
85         return base.resolveTemplate(name, value, encodeSlashInPath);
86     }
87
88     @Override
89     public WebTarget resolveTemplateFromEncoded(String name, Object value) {
90         return base.resolveTemplateFromEncoded(name, value);
91     }
92
93     @Override
94     public WebTarget resolveTemplates(Map<String, Object> templateValues) {
95         return base.resolveTemplates(templateValues);
96     }
97
98     @Override
99     public WebTarget resolveTemplates(Map<String, Object> templateValues, boolean encodeSlashInPath) {
100         return base.resolveTemplates(templateValues, encodeSlashInPath);
101     }
102
103     @Override
104     public WebTarget resolveTemplatesFromEncoded(Map<String, Object> templateValues) {
105         return base.resolveTemplatesFromEncoded(templateValues);
106     }
107
108     @Override
109     public WebTarget matrixParam(String name, Object... values) {
110         return base.matrixParam(name, values);
111     }
112
113     @Override
114     public WebTarget queryParam(String name, Object... values) {
115         return base.queryParam(name, values);
116     }
117
118     @Override
119     public WebTarget property(String name, Object value) {
120         return base.property(name, value);
121     }
122
123     @Override
124     public WebTarget register(Class<?> componentClass) {
125         return base.register(componentClass);
126     }
127
128     @Override
129     public WebTarget register(Class<?> componentClass, int priority) {
130         return base.register(componentClass, priority);
131     }
132
133     @Override
134     public WebTarget register(Class<?> componentClass, Class<?>... contracts) {
135         return base.register(componentClass, contracts);
136     }
137
138     @Override
139     public WebTarget register(Class<?> componentClass, Map<Class<?>, Integer> contracts) {
140         return base.register(componentClass, contracts);
141     }
142
143     @Override
144     public WebTarget register(Object component) {
145         return base.register(component);
146     }
147
148     @Override
149     public WebTarget register(Object component, int priority) {
150         return base.register(component, priority);
151     }
152
153     @Override
154     public WebTarget register(Object component, Class<?>... contracts) {
155         return base.register(component, contracts);
156     }
157
158     @Override
159     public WebTarget register(Object component, Map<Class<?>, Integer> contracts) {
160         return base.register(component, contracts);
161     }
162 }