2 * ============LICENSE_START======================================================================
3 * Copyright (C) 2023 Nordix Foundation. All rights reserved.
4 * Copyright (C) 2020-2021 Nokia. All rights reserved.
5 * ===============================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
7 * in compliance with the License. You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software distributed under the License
12 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 * or implied. See the License for the specific language governing permissions and limitations under
15 * ============LICENSE_END========================================================================
17 package org.oran.datafile.http;
19 import io.netty.handler.codec.http.HttpHeaders;
20 import io.netty.handler.codec.http.HttpMethod;
21 import io.netty.handler.codec.http.HttpResponseStatus;
22 import io.netty.handler.codec.http.HttpVersion;
23 import io.netty.handler.codec.http.cookie.Cookie;
25 import java.io.ByteArrayInputStream;
26 import java.io.IOException;
27 import java.io.InputStream;
28 import java.io.OutputStream;
29 import java.util.Locale;
33 import org.apache.http.Header;
34 import org.apache.http.HeaderIterator;
35 import org.apache.http.HttpEntity;
36 import org.apache.http.ProtocolVersion;
37 import org.apache.http.StatusLine;
38 import org.apache.http.client.methods.CloseableHttpResponse;
39 import org.apache.http.params.HttpParams;
41 import reactor.core.publisher.Mono;
42 import reactor.netty.http.client.HttpClientResponse;
43 import reactor.util.context.Context;
44 import reactor.util.context.ContextView;
46 public class HttpClientResponseHelper {
48 public static final HttpClientResponse NETTY_RESPONSE_OK = new HttpClientResponse() {
51 public Map<CharSequence, Set<Cookie>> cookies() {
56 public boolean isKeepAlive() {
61 public boolean isWebsocket() {
66 public HttpMethod method() {
71 public String path() {
76 public String fullPath() {
81 public String requestId() {
91 public HttpVersion version() {
96 public Context currentContext() {
101 public ContextView currentContextView() {
106 public String[] redirectedFrom() {
107 return new String[0];
111 public HttpHeaders requestHeaders() {
116 public String resourceUrl() {
121 public HttpHeaders responseHeaders() {
126 public HttpResponseStatus status() {
127 return HttpResponseStatus.OK;
131 public Mono<HttpHeaders> trailerHeaders() {
136 public static final HttpClientResponse RESPONSE_ANY_NO_OK = new HttpClientResponse() {
139 public Map<CharSequence, Set<Cookie>> cookies() {
144 public boolean isKeepAlive() {
149 public boolean isWebsocket() {
154 public HttpMethod method() {
159 public String fullPath() {
164 public String requestId() {
169 public String uri() {
174 public HttpVersion version() {
179 public Context currentContext() {
184 public ContextView currentContextView() {
189 public String[] redirectedFrom() {
190 return new String[0];
194 public HttpHeaders requestHeaders() {
199 public String resourceUrl() {
204 public HttpHeaders responseHeaders() {
209 public HttpResponseStatus status() {
210 return HttpResponseStatus.NOT_IMPLEMENTED;
214 public Mono<HttpHeaders> trailerHeaders() {
219 public static final CloseableHttpResponse APACHE_RESPONSE_OK = new CloseableHttpResponse() {
221 public void close() throws IOException {
222 getEntity().getContent().close();
226 public StatusLine getStatusLine() {
227 return new StatusLine() {
229 public ProtocolVersion getProtocolVersion() {
234 public int getStatusCode() {
239 public String getReasonPhrase() {
246 public void setStatusLine(StatusLine statusLine) {
251 public void setStatusLine(ProtocolVersion protocolVersion, int i) {
256 public void setStatusLine(ProtocolVersion protocolVersion, int i, String s) {
261 public void setStatusCode(int i) throws IllegalStateException {
266 public void setReasonPhrase(String s) throws IllegalStateException {
271 public HttpEntity getEntity() {
272 return new HttpEntity() {
274 public boolean isRepeatable() {
279 public boolean isChunked() {
284 public long getContentLength() {
289 public Header getContentType() {
294 public Header getContentEncoding() {
299 public InputStream getContent() throws IOException, UnsupportedOperationException {
300 return new ByteArrayInputStream("abc".getBytes());
304 public void writeTo(OutputStream outputStream) throws IOException {
309 public boolean isStreaming() {
314 public void consumeContent() throws IOException {
321 public void setEntity(HttpEntity httpEntity) {
326 public Locale getLocale() {
331 public void setLocale(Locale locale) {
336 public ProtocolVersion getProtocolVersion() {
341 public boolean containsHeader(String s) {
346 public Header[] getHeaders(String s) {
347 return new Header[0];
351 public Header getFirstHeader(String s) {
356 public Header getLastHeader(String s) {
361 public Header[] getAllHeaders() {
362 return new Header[0];
366 public void addHeader(Header header) {
371 public void addHeader(String s, String s1) {
376 public void setHeader(Header header) {
381 public void setHeader(String s, String s1) {
386 public void setHeaders(Header[] headers) {
391 public void removeHeader(Header header) {
396 public void removeHeaders(String s) {
401 public HeaderIterator headerIterator() {
406 public HeaderIterator headerIterator(String s) {
411 public HttpParams getParams() {
416 public void setParams(HttpParams params) {