This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch jbFixRestNpe
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/jbFixRestNpe by this push:
new 46d3a4ce7 Make RestRequest/RestResponse extend
HttpServletRequest/Response
46d3a4ce7 is described below
commit 46d3a4ce72d4538845030d734fcdb4dc7b156f21
Author: JamesBognar <[email protected]>
AuthorDate: Fri Aug 12 11:30:02 2022 -0400
Make RestRequest/RestResponse extend HttpServletRequest/Response
---
.../java/org/apache/juneau/rest/RestRequest.java | 97 ++-----------
.../java/org/apache/juneau/rest/RestResponse.java | 154 ++-------------------
.../juneau/rest/httppart/RequestContent.java | 4 +-
.../rest/processor/PlainTextPojoProcessor.java | 2 +-
.../rest/processor/SerializedPojoProcessor.java | 2 +-
.../apache/juneau/rest/vars/RequestHeaderVar.java | 2 +-
.../juneau/http/SerializedHttpEntity_Test.java | 2 +-
.../org/apache/juneau/http/remote/Remote_Test.java | 2 +-
.../org/apache/juneau/rest/RestOp_Params_Test.java | 2 +-
.../Rest_DefaultRequestAttributes_Test.java | 8 +-
.../rest/client/RestClient_BasicCalls_Test.java | 2 +-
.../client/RestClient_Config_BeanContext_Test.java | 4 +-
.../client/RestClient_Config_OpenApi_Test.java | 2 +-
.../client/RestClient_Config_RestClient_Test.java | 2 +-
.../rest/client/RestClient_Headers_Test.java | 2 +-
.../client/RestClient_Response_Headers_Test.java | 2 +-
.../rest/client/RestClient_Response_Test.java | 4 +-
17 files changed, 50 insertions(+), 243 deletions(-)
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index df902fd1c..c5d52fb35 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -32,6 +32,7 @@ import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.net.*;
import java.nio.charset.*;
+import java.security.*;
import java.text.*;
import java.util.*;
import java.util.logging.*;
@@ -199,7 +200,7 @@ import org.apache.juneau.utils.*;
* </ul>
*/
@SuppressWarnings({ "unchecked", "unused" })
-public final class RestRequest {
+public final class RestRequest extends HttpServletRequestWrapper {
// Constructor initialized.
private HttpServletRequest inner;
@@ -227,6 +228,7 @@ public final class RestRequest {
* Constructor.
*/
RestRequest(RestOpContext opContext, RestSession session) throws
Exception {
+ super(session.getRequest());
this.session = session;
this.opContext = opContext;
@@ -355,7 +357,7 @@ public final class RestRequest {
* @return A new fluent assertion on the parameter, never <jk>null</jk>.
*/
public FluentRequestHeaderAssertion<RestRequest> assertHeader(String
name) {
- return new FluentRequestHeaderAssertion<>(getHeader(name),
this);
+ return new FluentRequestHeaderAssertion<>(getHeaderParam(name),
this);
}
/**
@@ -464,7 +466,7 @@ public final class RestRequest {
* @param name The header name.
* @return The request header object, never <jk>null</jk>.
*/
- public RequestHeader getHeader(String name) {
+ public RequestHeader getHeaderParam(String name) {
return headers.getLast(name);
}
@@ -514,7 +516,7 @@ public final class RestRequest {
// Determine charset
// NOTE: Don't use super.getCharacterEncoding()
because the spec is implemented inconsistently.
// Jetty returns the default charset instead of null if
the character is not specified on the request.
- String h = getHeader("Content-Type").orElse(null);
+ String h = getHeaderParam("Content-Type").orElse(null);
if (h != null) {
int i = h.indexOf(";charset=");
if (i > 0)
@@ -536,6 +538,7 @@ public final class RestRequest {
*
* @return The preferred Locale that the client will accept content in.
Never <jk>null</jk>.
*/
+ @Override
public Locale getLocale() {
Locale best = inner.getLocale();
String h =
headers.get("Accept-Language").asString().orElse(null);
@@ -679,6 +682,7 @@ public final class RestRequest {
* @param name The attribute name.
* @return The attribute value, never <jk>null</jk>.
*/
+ @Override
public RequestAttribute getAttribute(String name) {
return attrs.get(name);
}
@@ -689,6 +693,7 @@ public final class RestRequest {
* @param name The attribute name.
* @param value The attribute value.
*/
+ @Override
public void setAttribute(String name, Object value) {
attrs.set(name, value);
}
@@ -999,6 +1004,7 @@ public final class RestRequest {
* @return The HTTP content content as a {@link Reader}.
* @throws IOException If content could not be read.
*/
+ @Override
public BufferedReader getReader() throws IOException {
return getContent().getReader();
}
@@ -1015,6 +1021,7 @@ public final class RestRequest {
* @return The negotiated input stream.
* @throws IOException If any error occurred while trying to get the
input stream or wrap it in the GZIP wrapper.
*/
+ @Override
public ServletInputStream getInputStream() throws IOException {
return getContent().getInputStream();
}
@@ -1034,6 +1041,7 @@ public final class RestRequest {
* @return The context path, never <jk>null</jk>.
* @see HttpServletRequest#getContextPath()
*/
+ @Override
public String getContextPath() {
String cp = context.getUriContext();
return cp == null ? inner.getContextPath() : cp;
@@ -1068,6 +1076,7 @@ public final class RestRequest {
* @return The servlet path, never <jk>null</jk>.
* @see HttpServletRequest#getServletPath()
*/
+ @Override
public String getServletPath() {
String cp = context.getUriContext();
String sp = inner.getServletPath();
@@ -1142,58 +1151,6 @@ public final class RestRequest {
}
}
- /**
- * Returns any extra path information associated with the URL the
client sent when it made this request.
- *
- * <p>
- * The extra path information follows the servlet path but precedes the
query string and will start with a <js>"/"</js> character.
- * This method returns <jk>null</jk> if there was no extra path
information.
- *
- * @return The extra path information.
- * @see HttpServletRequest#getPathInfo()
- */
- public String getPathInfo() {
- return inner.getPathInfo();
- }
-
- /**
- * Returns the part of this request's URL from the protocol name up to
the query string in the first line of the HTTP request.
- *
- * The web container does not decode this String
- *
- * @return The request URI.
- * @see HttpServletRequest#getRequestURI()
- */
- public String getRequestURI() {
- return inner.getRequestURI();
- }
-
-
- /**
- * Returns the query string that is contained in the request URL after
the path.
- *
- * <p>
- * This method returns <jk>null</jk> if the URL does not have a query
string.
- *
- * @return The query string.
- * @see HttpServletRequest#getQueryString()
- */
- public String getQueryString() {
- return inner.getQueryString();
- }
-
- /**
- * Reconstructs the URL the client used to make the request.
- *
- * <p>
- * The returned URL contains a protocol, server name, port number, and
server path, but it does not include query string parameters.
- *
- * @return The request URL.
- * @see HttpServletRequest#getRequestURL()
- */
- public StringBuffer getRequestURL() {
- return inner.getRequestURL();
- }
//-----------------------------------------------------------------------------------------------------------------
// Labels
//-----------------------------------------------------------------------------------------------------------------
@@ -1267,6 +1224,7 @@ public final class RestRequest {
*
* @return The HTTP method of this request.
*/
+ @Override
public String getMethod() {
return session.getMethod();
}
@@ -1613,7 +1571,7 @@ public final class RestRequest {
if (pt == FORMDATA)
return
getFormParam(name).parser(pp).schema(schema).as(type).orElse(null);
if (pt == HEADER)
- return
getHeader(name).parser(pp).schema(schema).as(type).orElse(null);
+ return
getHeaderParam(name).parser(pp).schema(schema).as(type).orElse(null);
if (pt == PATH)
return
getPathParam(name).parser(pp).schema(schema).as(type).orElse(null);
}
@@ -1637,31 +1595,6 @@ public final class RestRequest {
}
}
- /**
- * Returns the current session associated with this request, or if the
request does not have a session, creates one.
- *
- * @return The current request session.
- * @see HttpServletRequest#getSession()
- */
- public HttpSession getSession() {
- return inner.getSession();
- }
-
- /**
- * Returns a boolean indicating whether the authenticated user is
included in the specified logical "role".
- *
- * <p>
- * Roles and role membership can be defined using deployment
descriptors.
- * If the user has not been authenticated, the method returns false.
- *
- * @param role The role name.
- * @return <jk>true</jk> if the user holds the specified role.
- * @see HttpServletRequest#isUserInRole(String)
- */
- public boolean isUserInRole(String role) {
- return inner.isUserInRole(role);
- }
-
/**
* Returns the wrapped servlet request.
*
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
index 68b316921..609e0330d 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -106,7 +106,7 @@ import org.apache.juneau.serializer.*;
* <li class='extlink'>{@source}
* </ul>
*/
-public final class RestResponse {
+public final class RestResponse extends HttpServletResponseWrapper {
private HttpServletResponse inner;
private final RestRequest request;
@@ -127,6 +127,7 @@ public final class RestResponse {
* Constructor.
*/
RestResponse(RestOpContext opContext, RestSession session, RestRequest
req) throws Exception {
+ super(session.getResponse());
inner = session.getResponse();
request = req;
@@ -137,7 +138,7 @@ public final class RestResponse {
RestContext context = session.getContext();
try {
- String passThroughHeaders =
request.getHeader("x-response-headers").orElse(null);
+ String passThroughHeaders =
request.getHeaderParam("x-response-headers").orElse(null);
if (passThroughHeaders != null) {
JsonMap m =
context.getPartParser().getPartSession().parse(HEADER, null,
passThroughHeaders, BeanContext.DEFAULT.getClassMeta(JsonMap.class));
for (Map.Entry<String,Object> e : m.entrySet())
@@ -148,7 +149,7 @@ public final class RestResponse {
}
// Find acceptable charset
- String h = request.getHeader("accept-charset").orElse(null);
+ String h =
request.getHeaderParam("accept-charset").orElse(null);
Charset charset = null;
if (h == null)
charset = opContext.getDefaultCharset();
@@ -168,7 +169,7 @@ public final class RestResponse {
opContext.getDefaultResponseHeaders().forEach(x->addHeader(x.getName(),
resolveUris(x.getValue())));
if (charset == null)
- throw new NotAcceptable("No supported charsets in
header ''Accept-Charset'': ''{0}''",
request.getHeader("Accept-Charset").orElse(null));
+ throw new NotAcceptable("No supported charsets in
header ''Accept-Charset'': ''{0}''",
request.getHeaderParam("Accept-Charset").orElse(null));
inner.setCharacterEncoding(charset.name());
}
@@ -293,25 +294,6 @@ public final class RestResponse {
return this;
}
- /**
- * Sets the content type of the response being sent to the client, if
the response has not been committed yet.
- *
- * <p>
- * The given content type may include a character encoding
specification, for example, text/html;charset=UTF-8.
- * The response's character encoding is only set from the given content
type if this method is called before getWriter is called.
- *
- * <p>This method may be called repeatedly to change content type and
character encoding.
- * This method has no effect if called after the response has been
committed.
- * It does not set the response's character encoding if it is called
after getWriter has been called or after the response has been committed.
- *
- * @param value A string specifying the MIME type of the content.
- * @return This object.
- */
- public RestResponse setContentType(String value) {
- inner.setContentType(value);
- return this;
- }
-
/**
* Equivalent to {@link HttpServletResponse#getOutputStream()}, except
wraps the output stream if an {@link Encoder}
* was found that matched the <c>Accept-Encoding</c> header.
@@ -325,7 +307,7 @@ public final class RestResponse {
Encoder encoder = null;
EncoderSet encoders =
request.getOpContext().getEncoders();
- String ae =
request.getHeader("Accept-Encoding").orElse(null);
+ String ae =
request.getHeaderParam("Accept-Encoding").orElse(null);
if (! (ae == null || ae.isEmpty())) {
EncoderMatch match =
encoders.getEncoderMatch(ae);
if (match == null) {
@@ -365,6 +347,7 @@ public final class RestResponse {
* @return The stream.
* @throws IOException If stream could not be accessed.
*/
+ @Override
public ServletOutputStream getOutputStream() throws IOException {
if (sos == null)
sos = inner.getOutputStream();
@@ -390,6 +373,7 @@ public final class RestResponse {
* @return The writer.
* @throws IOException If writer could not be accessed.
*/
+ @Override
public PrintWriter getWriter() throws IOException {
return getWriter(true, false);
}
@@ -448,43 +432,6 @@ public final class RestResponse {
}
}
- /**
- * Sets the character encoding (MIME charset) of the response being
sent to the client, for example, to UTF-8.
- *
- * <p>
- * If the character encoding has already been set by
<c>setContentType</c> or <c>setLocale</c>, this method overrides it.
- * Calling {@link #setContentType(String)} with the String of
<js>"text/html"</js> and calling this method with
- * <js>"UTF-8"</js> is equivalent with calling {@link
#setContentType(String)} with <js>"text/html; charset=UTF-8"</js>.
- *
- * <p>
- * This method can be called repeatedly to change the character
encoding.
- * This method has no effect if it is called after <c>getWriter</c> has
been called or after the response has been committed.
- *
- * @param value The character encoding value.
- * @return This object.
- */
- public RestResponse setCharacterEncoding(String value) {
- inner.setCharacterEncoding(value);
- return this;
- }
-
- /**
- * Returns the name of the character encoding (MIME charset) used for
the content sent in this response.
- *
- * <p>
- * The character encoding may have been specified explicitly using the
<c>setCharacterEncoding</c> or <c>setContentType</c> methods,
- * or implicitly using the <c>setLocale</c> method.
- * Explicit specifications take precedence over implicit specifications.
- * Calls made to these methods after <c>getWriter</c> has been called
or after the response has been committed have
- * no effect on the character encoding.
- * If no character encoding has been specified, <js>"ISO-8859-1"</js>
is returned.
- *
- * @return A string specifying the name of the character encoding, for
example, <js>"UTF-8"</js>.
- */
- public String getCharacterEncoding() {
- return inner.getCharacterEncoding();
- }
-
/**
* Returns the <c>Content-Type</c> header stripped of the charset
attribute if present.
*
@@ -494,24 +441,6 @@ public final class RestResponse {
return MediaType.of(getContentType());
}
- /**
- * Returns the content type used for the MIME content sent in this
response.
- *
- *
- * <p>
- * The content type proper must have been specified using
<c>setContentType</c> before the response is committed.
- * If no content type has been specified, this method returns
<jk>null</jk>.
- * If a content type has been specified, and a character encoding has
been explicitly or implicitly specified as
- * described in <c>getCharacterEncoding</c> or <c>getWriter</c> has
been called, the charset parameter is included
- * in the string returned.
- * If no character encoding has been specified, the charset parameter
is omitted.
- *
- * @return A string specifying the content type, for example,
<js>"text/html; charset=UTF-8"</js>, or <jk>null</jk>.
- */
- public String getContentType() {
- return inner.getContentType();
- }
-
/**
* Wrapper around {@link #getCharacterEncoding()} that converts the
value to a {@link Charset}.
*
@@ -532,6 +461,7 @@ public final class RestResponse {
* @param uri The redirection URL.
* @throws IOException If an input or output exception occurs
*/
+ @Override
public void sendRedirect(String uri) throws IOException {
char c = (uri.length() > 0 ? uri.charAt(0) : 0);
if (c != '/' && uri.indexOf("://") == -1)
@@ -551,6 +481,7 @@ public final class RestResponse {
* @param name The header name.
* @param value The header value.
*/
+ @Override
public void setHeader(String name, String value) {
// Jetty doesn't set the content type correctly if set through
this method.
@@ -568,16 +499,6 @@ public final class RestResponse {
}
}
- /**
- * Returns a boolean indicating whether the named response header has
already been set.
- *
- * @param name The header name.
- * @return <jk>true</jk> if the response header has been set.
- */
- public boolean containsHeader(String name) {
- return inner.containsHeader(name);
- }
-
/**
* Sets a header on the request.
*
@@ -757,6 +678,7 @@ public final class RestResponse {
*
* @throws IOException If an I/O error occurred.
*/
+ @Override
public void flushBuffer() throws IOException {
if (w != null)
w.flush();
@@ -769,39 +691,6 @@ public final class RestResponse {
return content == null ? null : content.orElse(null);
}
- /**
- * Returns the current status code of this response.
- *
- * @return The current status code of this response.
- */
- public int getStatus() {
- return inner.getStatus();
- }
-
- /**
- * Sets the status code for this response.
- *
- * <p>
- * This method is used to set the return status code when there is no
error (for example, for the SC_OK or SC_MOVED_TEMPORARILY status codes).
- *
- * <p>
- * If this method is used to set an error code, then the container's
error page mechanism will not be triggered.
- * If there is an error and the caller wishes to invoke an error page
defined in the web application, then sendError must be used instead.
- *
- * <p>
- * This method preserves any cookies and other response headers.
- *
- * <p>
- * Valid status codes are those in the 2XX, 3XX, 4XX, and 5XX ranges.
Other status codes are treated as container specific.
- *
- * @param value The status code for this response.
- * @return This object.
- */
- public RestResponse setStatus(int value) {
- inner.setStatus(value);
- return this;
- }
-
/**
* Enabled safe-header mode.
*
@@ -845,9 +734,9 @@ public final class RestResponse {
*
* @param name The header name.
* @param value The header value.
- * @return This object.
*/
- public RestResponse addHeader(String name, String value) {
+ @Override
+ public void addHeader(String name, String value) {
if (name != null && value != null) {
if (name.equalsIgnoreCase("Content-Type"))
setHeader(name, value);
@@ -858,7 +747,6 @@ public final class RestResponse {
inner.addHeader(name, value);
}
}
- return this;
}
/**
@@ -933,20 +821,6 @@ public final class RestResponse {
return request.getUriResolver().resolve(s);
}
- /**
- * Gets the value of the response header with the given name.
- *
- * <p>
- * If a response header with the given name exists and contains
multiple values, the value that was added first will be returned.
- *
- * @param name The header name.
- * @return The header value, or <jk>null</jk> if it wasn't set.
- */
- public String getHeader(String name) {
- return inner.getHeader(name);
- }
-
-
/**
* Returns the matching serializer and media type for this response.
*
@@ -958,7 +832,7 @@ public final class RestResponse {
if (serializer != null) {
serializerMatch = optional(new
SerializerMatch(getMediaType(), serializer));
} else {
- serializerMatch =
optional(opContext.getSerializers().getSerializerMatch(request.getHeader("Accept").orElse("*/*")));
+ serializerMatch =
optional(opContext.getSerializers().getSerializerMatch(request.getHeaderParam("Accept").orElse("*/*")));
}
return serializerMatch;
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
index 8005d4179..518a7ee7c 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
@@ -546,14 +546,14 @@ public class RequestContent {
private Encoder getEncoder() throws UnsupportedMediaType {
if (encoder == null) {
- String ce =
req.getHeader("content-encoding").orElse(null);
+ String ce =
req.getHeaderParam("content-encoding").orElse(null);
if (isNotEmpty(ce)) {
ce = ce.trim();
encoder = encoders.getEncoder(ce);
if (encoder == null)
throw new UnsupportedMediaType(
"Unsupported encoding in
request header ''Content-Encoding'': ''{0}''\n\tSupported codings: {1}",
-
req.getHeader("content-encoding").orElse(null),
SimpleJson.of(encoders.getSupportedEncodings())
+
req.getHeaderParam("content-encoding").orElse(null),
SimpleJson.of(encoders.getSupportedEncodings())
);
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/PlainTextPojoProcessor.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/PlainTextPojoProcessor.java
index 294e20877..c73835832 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/PlainTextPojoProcessor.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/PlainTextPojoProcessor.java
@@ -35,7 +35,7 @@ public final class PlainTextPojoProcessor implements
ResponseProcessor {
public int process(RestOpSession opSession) throws IOException,
NotAcceptable, BasicHttpException {
RestRequest req = opSession.getRequest();
RestResponse res = opSession.getResponse();
- String accept = req.getHeader("Accept").orElse("*/*");
+ String accept = req.getHeaderParam("Accept").orElse("*/*");
if (res.getSerializerMatch().isPresent() || ! (isEmpty(accept)
|| accept.startsWith("text/plain") || accept.contains("*/*")))
return NEXT;
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/SerializedPojoProcessor.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/SerializedPojoProcessor.java
index 71964ac2b..1b6ef84fb 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/SerializedPojoProcessor.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/SerializedPojoProcessor.java
@@ -108,7 +108,7 @@ public final class SerializedPojoProcessor implements
ResponseProcessor {
throw new NotAcceptable(
"Unsupported media-type in request header ''Accept'':
''{0}''\n\tSupported media-types: {1}",
- req.getHeader("Accept").orElse(""),
SimpleJson.of(res.getOpContext().getSerializers().getSupportedMediaTypes())
+ req.getHeaderParam("Accept").orElse(""),
SimpleJson.of(res.getOpContext().getSerializers().getSupportedMediaTypes())
);
}
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestHeaderVar.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestHeaderVar.java
index a8f5f3015..000a1b640 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestHeaderVar.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestHeaderVar.java
@@ -68,7 +68,7 @@ public class RequestHeaderVar extends MultipartResolvingVar {
@Override /* Var */
public String resolve(VarResolverSession session, String key) {
- return
session.getBean(RestRequest.class).orElseThrow(InternalServerError::new).getHeader(key).orElse(null);
+ return
session.getBean(RestRequest.class).orElseThrow(InternalServerError::new).getHeaderParam(key).orElse(null);
}
@Override /* Var */
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/http/SerializedHttpEntity_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/http/SerializedHttpEntity_Test.java
index 6a422970e..ff3e61c4f 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/http/SerializedHttpEntity_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/http/SerializedHttpEntity_Test.java
@@ -41,7 +41,7 @@ public class SerializedHttpEntity_Test {
public static class A extends BasicRestObject {
@RestPost
public String[] checkHeader(org.apache.juneau.rest.RestRequest
req) {
- return
req.getHeaders().getAll(req.getHeader("Check").orElse(null)).stream().map(x ->
x.getValue()).toArray(String[]::new);
+ return
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(x
-> x.getValue()).toArray(String[]::new);
}
@RestPost
public Reader checkBody(org.apache.juneau.rest.RestRequest req)
throws IOException {
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_Test.java
index 0ba753891..c05218f1d 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_Test.java
@@ -558,7 +558,7 @@ public class Remote_Test {
public static class F extends BasicRestObject {
@RestGet
public String[] headers(org.apache.juneau.rest.RestRequest req)
{
- return
req.getHeaders().getAll(req.getHeader("Check").orElse(null)).stream().map(x ->
x.getValue()).toArray(String[]::new);
+ return
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(x
-> x.getValue()).toArray(String[]::new);
}
}
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/RestOp_Params_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/RestOp_Params_Test.java
index 0fbc727ec..f4523e906 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/RestOp_Params_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/RestOp_Params_Test.java
@@ -352,7 +352,7 @@ public class RestOp_Params_Test {
@Override
public Object resolve(RestOpSession opSession) throws Exception
{
- return new
B2b(opSession.getRequest().getHeader("Custom").orElse(null));
+ return new
B2b(opSession.getRequest().getHeaderParam("Custom").orElse(null));
}
}
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Rest_DefaultRequestAttributes_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Rest_DefaultRequestAttributes_Test.java
index 40475d564..a5a2e36b2 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Rest_DefaultRequestAttributes_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Rest_DefaultRequestAttributes_Test.java
@@ -54,7 +54,7 @@ public class Rest_DefaultRequestAttributes_Test {
attrs.set("p2", "xp2");
attrs.set("p4", "xp4");
attrs.set("p5", "xp5"); // New property
- String overrideContentType =
req.getHeader("Override-Content-Type").orElse(null);
+ String overrideContentType =
req.getHeaderParam("Override-Content-Type").orElse(null);
if (overrideContentType != null)
req.getHeaders().set("Content-Type",
overrideContentType);
}
@@ -119,10 +119,10 @@ public class Rest_DefaultRequestAttributes_Test {
attrs.set("p2", "xp2");
attrs.set("p4", "xp4");
attrs.set("p5", "xp5"); // New property
- String overrideAccept =
req.getHeader("Override-Accept").orElse(null);
+ String overrideAccept =
req.getHeaderParam("Override-Accept").orElse(null);
if (overrideAccept != null)
req.getHeaders().set("Accept", overrideAccept);
- String overrideContentType =
req.getHeader("Override-Content-Type").orElse(null);
+ String overrideContentType =
req.getHeaderParam("Override-Content-Type").orElse(null);
if (overrideContentType != null)
attrs.set("Override-Content-Type",
overrideContentType);
}
@@ -142,7 +142,7 @@ public class Rest_DefaultRequestAttributes_Test {
public String b(RestRequest req, RequestAttributes attrs)
throws Exception {
attrs.set("p3", "pp3");
attrs.set("p4", "pp4");
- String accept = req.getHeader("Accept").orElse(null);
+ String accept =
req.getHeaderParam("Accept").orElse(null);
if (accept == null || accept.isEmpty())
req.getHeaders().set("Accept", "text/s2");
return null;
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
index 7499f0ab5..cda8b5de3 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_BasicCalls_Test.java
@@ -89,7 +89,7 @@ public class RestClient_BasicCalls_Test {
}
@RestOp(path="/checkHeader")
public String[] postHeader(org.apache.juneau.rest.RestRequest
req) {
- return
req.getHeaders().getAll(req.getHeader("Check").orElse(null)).stream().map(x ->
x.getValue()).toArray(String[]::new);
+ return
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(x
-> x.getValue()).toArray(String[]::new);
}
@RestOp(path="/",method="*")
public Reader echoMethod(@Method String method) {
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
index 59934b991..a0359a914 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
@@ -43,7 +43,7 @@ public class RestClient_Config_BeanContext_Test {
}
@RestGet
public String[] checkHeader(org.apache.juneau.rest.RestRequest
req) {
- return
req.getHeaders().getAll(req.getHeader("Check").orElse(null)).stream().map(x ->
x.getValue()).toArray(String[]::new);
+ return
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(x
-> x.getValue()).toArray(String[]::new);
}
@RestGet
public Reader checkQuery(org.apache.juneau.rest.RestRequest
req) {
@@ -92,7 +92,7 @@ public class RestClient_Config_BeanContext_Test {
public static class A2b extends BasicRestObject {
@RestPost
public Reader test(org.apache.juneau.rest.RestRequest
req,org.apache.juneau.rest.RestResponse res) throws IOException {
- res.setHeader("X",req.getHeader("X").orElse(null));
+ res.setHeader("X",req.getHeaderParam("X").orElse(null));
return req.getContent().getReader();
}
}
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_OpenApi_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_OpenApi_Test.java
index eb23dee5b..eb1962d38 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_OpenApi_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_OpenApi_Test.java
@@ -38,7 +38,7 @@ public class RestClient_Config_OpenApi_Test {
}
@RestGet
public String[] checkHeader(org.apache.juneau.rest.RestRequest
req) {
- return
req.getHeaders().getAll(req.getHeader("Check").orElse(null)).stream().map(x ->
x.getValue()).toArray(String[]::new);
+ return
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(x
-> x.getValue()).toArray(String[]::new);
}
@RestGet
public Reader checkQuery(org.apache.juneau.rest.RestRequest
req) {
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
index f7ecf7290..83a65f6b7 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
@@ -87,7 +87,7 @@ public class RestClient_Config_RestClient_Test {
}
@RestOp(path="/checkHeader")
public String[] getHeader(org.apache.juneau.rest.RestRequest
req) {
- return
req.getHeaders().getAll(req.getHeader("Check").orElse(null)).stream().map(x ->
x.getValue()).toArray(String[]::new);
+ return
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(x
-> x.getValue()).toArray(String[]::new);
}
}
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Headers_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Headers_Test.java
index e1091754a..f0e808773 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Headers_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Headers_Test.java
@@ -65,7 +65,7 @@ public class RestClient_Headers_Test {
public static class A extends BasicRestObject implements
BasicUniversalConfig {
@RestGet
public String[] headers(org.apache.juneau.rest.RestRequest req)
{
- return
req.getHeaders().getAll(req.getHeader("Check").orElse(null)).stream().map(x ->
x.getValue()).toArray(String[]::new);
+ return
req.getHeaders().getAll(req.getHeaderParam("Check").orElse(null)).stream().map(x
-> x.getValue()).toArray(String[]::new);
}
}
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Response_Headers_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Response_Headers_Test.java
index a1ef88111..e25821b96 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Response_Headers_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Response_Headers_Test.java
@@ -39,7 +39,7 @@ public class RestClient_Response_Headers_Test {
public static class A extends BasicRestObject {
@RestGet
public String echo(org.apache.juneau.rest.RestRequest req,
org.apache.juneau.rest.RestResponse res) {
- String c = req.getHeader("Check").orElse(null);
+ String c = req.getHeaderParam("Check").orElse(null);
String[] h = req.getHeaders().getAll(c).stream().map(x
-> x.getValue()).toArray(String[]::new);
if (h != null)
for (String hh : h)
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Response_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Response_Test.java
index c62f04ab3..3df9a1ab8 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Response_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Response_Test.java
@@ -124,8 +124,8 @@ public class RestClient_Response_Test {
public static class C extends BasicRestObject {
@RestGet(path="/")
public String getHeader(org.apache.juneau.rest.RestRequest req,
org.apache.juneau.rest.RestResponse res) {
- String n = req.getHeader("Check").orElse(null);
- String v = req.getHeader(n).orElse(null);
+ String n = req.getHeaderParam("Check").orElse(null);
+ String v = req.getHeaderParam(n).orElse(null);
res.setHeader(n,v);
return v;
}