You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by gg...@apache.org on 2023/01/11 15:23:53 UTC
[httpcomponents-core] branch master updated: Do not duplicate the HttpMessage instance variable slot in subclasses of AbstractMessageWrapper.
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/httpcomponents-core.git
The following commit(s) were added to refs/heads/master by this push:
new 193df62b8 Do not duplicate the HttpMessage instance variable slot in subclasses of AbstractMessageWrapper.
193df62b8 is described below
commit 193df62b88fb3516ef4d45b8fd6ae8e13e3dcc19
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Wed Jan 11 10:23:48 2023 -0500
Do not duplicate the HttpMessage instance variable slot in subclasses of
AbstractMessageWrapper.
---
RELEASE_NOTES.txt | 13 +++++++++++
.../core5/http/message/AbstractMessageWrapper.java | 12 +++++++---
.../hc/core5/http/message/HttpRequestWrapper.java | 27 +++++++++++-----------
.../hc/core5/http/message/HttpResponseWrapper.java | 19 ++++++++-------
4 files changed, 44 insertions(+), 27 deletions(-)
diff --git a/RELEASE_NOTES.txt b/RELEASE_NOTES.txt
index 8560411b8..8168f3be6 100644
--- a/RELEASE_NOTES.txt
+++ b/RELEASE_NOTES.txt
@@ -1,3 +1,16 @@
+Release 5.2.2
+------------------
+
+This is a maintenance release that corrects several minor defects discovered since release 5.2.1.
+
+
+Change Log
+-------------------
+
+* Do not duplicate the HttpMessage instance variable slot in subclasses of AbstractMessageWrapper.
+ Contributed by Gary Gregory <ggregory at apache.org>
+
+
Release 5.2.1
------------------
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/AbstractMessageWrapper.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/AbstractMessageWrapper.java
index 16604d8c7..665a87268 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/AbstractMessageWrapper.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/AbstractMessageWrapper.java
@@ -37,12 +37,14 @@ import org.apache.hc.core5.util.Args;
/**
* Abstract {@link HttpMessage} wrapper.
+ *
+ * @param <T> A {@link HttpMessage} type.
*/
-public abstract class AbstractMessageWrapper implements HttpMessage {
+public abstract class AbstractMessageWrapper<T extends HttpMessage> implements HttpMessage {
- private final HttpMessage message;
+ private final T message;
- public AbstractMessageWrapper(final HttpMessage message) {
+ public AbstractMessageWrapper(final T message) {
this.message = Args.notNull(message, "Message");
}
@@ -121,6 +123,10 @@ public abstract class AbstractMessageWrapper implements HttpMessage {
return message.getLastHeader(name);
}
+ T getMessage() {
+ return message;
+ }
+
@Override
public Header[] getHeaders() {
return message.getHeaders();
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/HttpRequestWrapper.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/HttpRequestWrapper.java
index 75a6af893..4535422bb 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/HttpRequestWrapper.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/HttpRequestWrapper.java
@@ -34,65 +34,64 @@ import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.net.URIAuthority;
/**
+ * Wraps an {@link HttpRequest}.
+ *
* {@link HttpRequest} wrapper.
*/
-public class HttpRequestWrapper extends AbstractMessageWrapper implements HttpRequest {
-
- private final HttpRequest message;
+public class HttpRequestWrapper extends AbstractMessageWrapper<HttpRequest> implements HttpRequest {
public HttpRequestWrapper(final HttpRequest message) {
super(message);
- this.message = message;
}
@Override
public String getMethod() {
- return message.getMethod();
+ return getMessage().getMethod();
}
@Override
public String getPath() {
- return message.getPath();
+ return getMessage().getPath();
}
@Override
public void setPath(final String path) {
- message.setPath(path);
+ getMessage().setPath(path);
}
@Override
public String getScheme() {
- return message.getScheme();
+ return getMessage().getScheme();
}
@Override
public void setScheme(final String scheme) {
- message.setScheme(scheme);
+ getMessage().setScheme(scheme);
}
@Override
public URIAuthority getAuthority() {
- return message.getAuthority();
+ return getMessage().getAuthority();
}
@Override
public void setAuthority(final URIAuthority authority) {
- message.setAuthority(authority);
+ getMessage().setAuthority(authority);
}
@Override
public String getRequestUri() {
- return message.getRequestUri();
+ return getMessage().getRequestUri();
}
@Override
public URI getUri() throws URISyntaxException {
- return message.getUri();
+ return getMessage().getUri();
}
@Override
public void setUri(final URI requestUri) {
- message.setUri(requestUri);
+ getMessage().setUri(requestUri);
}
}
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/message/HttpResponseWrapper.java b/httpcore5/src/main/java/org/apache/hc/core5/http/message/HttpResponseWrapper.java
index 01ee2e8ba..6826ce000 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/message/HttpResponseWrapper.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/message/HttpResponseWrapper.java
@@ -32,45 +32,44 @@ import java.util.Locale;
import org.apache.hc.core5.http.HttpResponse;
/**
+ * Wraps an {@link HttpResponse}.
+ *
* {@link HttpResponse} wrapper.
*/
-public class HttpResponseWrapper extends AbstractMessageWrapper implements HttpResponse {
-
- private final HttpResponse message;
+public class HttpResponseWrapper extends AbstractMessageWrapper<HttpResponse> implements HttpResponse {
public HttpResponseWrapper(final HttpResponse message) {
super(message);
- this.message = message;
}
@Override
public int getCode() {
- return message.getCode();
+ return getMessage().getCode();
}
@Override
public void setCode(final int code) {
- message.setCode(code);
+ getMessage().setCode(code);
}
@Override
public String getReasonPhrase() {
- return message.getReasonPhrase();
+ return getMessage().getReasonPhrase();
}
@Override
public void setReasonPhrase(final String reason) {
- message.setReasonPhrase(reason);
+ getMessage().setReasonPhrase(reason);
}
@Override
public Locale getLocale() {
- return message.getLocale();
+ return getMessage().getLocale();
}
@Override
public void setLocale(final Locale loc) {
- message.setLocale(loc);
+ getMessage().setLocale(loc);
}
}