This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git
The following commit(s) were added to refs/heads/master by this push:
new 2e5e343 REST refactoring.
2e5e343 is described below
commit 2e5e343ec79de3252bf0f50122a3ba7998a8c008
Author: JamesBognar <[email protected]>
AuthorDate: Tue Feb 9 11:58:15 2021 -0500
REST refactoring.
---
.../java/org/apache/juneau/rest/RequestBody.java | 10 +-
.../org/apache/juneau/rest/RequestFormData.java | 2 +-
.../org/apache/juneau/rest/RequestHeaders.java | 2 +-
.../java/org/apache/juneau/rest/RequestPath.java | 2 +-
.../java/org/apache/juneau/rest/RequestQuery.java | 2 +-
.../java/org/apache/juneau/rest/RestRequest.java | 207 ++++++---------------
.../java/org/apache/juneau/rest/RestResponse.java | 2 +-
.../juneau/rest/logging/BasicRestLogger.java | 2 +-
.../apache/juneau/rest/params/FormDataParam.java | 2 +-
.../org/apache/juneau/rest/params/HeaderParam.java | 2 +-
.../org/apache/juneau/rest/params/PathParam.java | 2 +-
.../org/apache/juneau/rest/params/QueryParam.java | 2 +-
.../juneau/rest/params/ResponseHeaderParam.java | 2 +-
.../juneau/rest/reshandlers/DefaultHandler.java | 4 +-
.../apache/juneau/rest/vars/RequestSwaggerVar.java | 2 +-
.../juneau/rest/vars/SerializedRequestAttrVar.java | 2 +-
.../juneau/rest/widget/ContentTypeMenuItem.java | 2 +-
.../juneau/rest/annotation/Restx_Parsers_Test.java | 6 +-
18 files changed, 84 insertions(+), 171 deletions(-)
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestBody.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestBody.java
index 90043f6..1693d84 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestBody.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestBody.java
@@ -331,10 +331,12 @@ public class RequestBody {
Encoder enc = getEncoder();
+ InputStream is = req.getHttpServletRequest().getInputStream();
+
if (enc == null)
- return new
BoundedServletInputStream(req.getRawInputStream(), maxInput);
+ return new BoundedServletInputStream(is, maxInput);
- return new
BoundedServletInputStream(enc.getInputStream(req.getRawInputStream()),
maxInput);
+ return new BoundedServletInputStream(enc.getInputStream(is),
maxInput);
}
/**
@@ -469,7 +471,7 @@ public class RequestBody {
throw new UnsupportedMediaType(
"Unsupported media-type in request header
''Content-Type'': ''{0}''\n\tSupported media-types: {1}",
- headers.getContentType().getValue(),
req.getParsers().getSupportedMediaTypes()
+ headers.getContentType().getValue(),
req.getOpContext().getParsers().getSupportedMediaTypes()
);
}
@@ -502,7 +504,7 @@ public class RequestBody {
* @return The content length of the body in bytes.
*/
public int getContentLength() {
- return contentLength == 0 ? req.getRawContentLength() :
contentLength;
+ return contentLength == 0 ?
req.getHttpServletRequest().getContentLength() : contentLength;
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestFormData.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestFormData.java
index cc8e107..8616f4d 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestFormData.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestFormData.java
@@ -855,7 +855,7 @@ public class RequestFormData extends
LinkedHashMap<String,String[]> {
/* Workhorse method */
private <T> T getInner(HttpPartParserSession parser, HttpPartSchema
schema, String name, T def, ClassMeta<T> cm) throws BadRequest,
InternalServerError {
if (parser == null)
- parser = req.getPartParser();
+ parser = req.getPartParserSession();
try {
if (cm.isMapOrBean() && isOneOf(name, "*", "")) {
OMap m = new OMap();
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeaders.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeaders.java
index 0d46806..ae4d721 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeaders.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeaders.java
@@ -511,7 +511,7 @@ public class RequestHeaders extends
TreeMap<String,String[]> {
/* Workhorse method */
private <T> T getInner(HttpPartParserSession parser, HttpPartSchema
schema, String name, T def, ClassMeta<T> cm) throws BadRequest,
InternalServerError {
if (parser == null)
- parser = req.getPartParser();
+ parser = req.getPartParserSession();
try {
if (cm.isMapOrBean() && isOneOf(name, "*", "")) {
OMap m = new OMap();
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestPath.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestPath.java
index e124e84..d7e83ae 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestPath.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestPath.java
@@ -244,7 +244,7 @@ public class RequestPath extends TreeMap<String,String> {
/* Workhorse method */
private <T> T getInner(HttpPartParserSession parser, HttpPartSchema
schema, String name, T def, ClassMeta<T> cm) throws BadRequest,
InternalServerError {
if (parser == null)
- parser = req.getPartParser();
+ parser = req.getPartParserSession();
try {
if (cm.isMapOrBean() && isOneOf(name, "*", "")) {
OMap m = new OMap();
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestQuery.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestQuery.java
index 18adc18..741f770 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestQuery.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestQuery.java
@@ -640,7 +640,7 @@ public final class RequestQuery extends
LinkedHashMap<String,String[]> {
/* Workhorse method */
private <T> T getInner(HttpPartParserSession parser, HttpPartSchema
schema, String name, T def, ClassMeta<T> cm) throws BadRequest,
InternalServerError {
if (parser == null)
- parser = req.getPartParser();
+ parser = req.getPartParserSession();
try {
if (cm.isMapOrBean() && isOneOf(name, "*", "")) {
OMap m = new OMap();
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 e8a5429..d5d35a8 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
@@ -97,46 +97,50 @@ import org.apache.juneau.utils.*;
@SuppressWarnings({ "unchecked", "unused" })
public final class RestRequest extends HttpServletRequestWrapper {
+ // Constructor initialized.
private HttpServletRequest inner;
private final RestContext context;
private final RestOperationContext opContext;
+ private final RequestBody body;
+ private final BeanSession beanSession;
+ private final RequestQuery queryParams;
+ private final RequestPath pathParams;
+ private final RequestHeaders headers;
+ private final RequestAttributes attrs;
+ private final HttpPartSerializerSession partSerializerSession;
+ private final HttpPartParserSession partParserSession;
+ private final RestCall call;
+
+ // Post-constructor initialized.
+ private RestResponse res;
- private final String method;
- private RequestBody body;
- private BeanSession beanSession;
+ // Lazy initialized.
private VarResolverSession varSession;
- private final RequestQuery queryParams;
private RequestFormData formData;
- private RequestPath pathParams;
private UriContext uriContext;
private String charset, authorityPath;
- private RequestHeaders headers;
- private RequestAttributes attrs;
- private Config cf;
+ private Config config;
private Swagger swagger;
private SerializerSessionArgs serializerSessionArgs;
private ParserSessionArgs parserSessionArgs;
- private RestResponse res;
- private HttpPartSerializerSession partSerializerSession;
- private HttpPartParserSession partParserSession;
- private final RestCall call;
/**
* Constructor.
*/
- RestRequest(RestCall call, RestOperationContext roc) throws Exception {
+ RestRequest(RestCall call, RestOperationContext opContext) throws
Exception {
super(call.getRequest());
- HttpServletRequest req = call.getRequest();
- this.inner = req;
- call.restRequest(this);
- this.context = call.getContext();
+
this.call = call;
+ this.opContext = opContext;
+
+ inner = call.getRequest();
+ call.restRequest(this);
+
+ context = call.getContext();
queryParams = new RequestQuery(this);
queryParams.putAll(call.getQueryParams());
- method = call.getMethod();
-
headers = new RequestHeaders(this);
for (Enumeration<String> e = getHeaderNames();
e.hasMoreElements();) {
String name = e.nextElement();
@@ -159,28 +163,27 @@ public final class RestRequest extends
HttpServletRequestWrapper {
this.pathParams = new RequestPath(call);
- this.opContext = roc;
- this.beanSession = roc.createSession();
- this.partParserSession =
roc.getPartParser().createPartSession(getParserSessionArgs());
- this.partSerializerSession =
roc.getPartSerializer().createPartSession(getSerializerSessionArgs());
+ this.beanSession = opContext.createSession();
+ this.partParserSession =
opContext.getPartParser().createPartSession(getParserSessionArgs());
+ this.partSerializerSession =
opContext.getPartSerializer().createPartSession(getSerializerSessionArgs());
this.pathParams
.parser(partParserSession);
this.queryParams
- .addDefault(roc.getDefaultRequestQuery())
+ .addDefault(opContext.getDefaultRequestQuery())
.parser(partParserSession);
this.headers
- .addDefault(roc.getDefaultRequestHeaders())
+ .addDefault(opContext.getDefaultRequestHeaders())
.addDefault(context.getDefaultRequestHeaders())
.parser(partParserSession);
this.attrs = new RequestAttributes(this);
this.attrs
- .addDefault(roc.getDefaultRequestAttributes())
+ .addDefault(opContext.getDefaultRequestAttributes())
.addDefault(context.getDefaultRequestAttributes());
this.body
- .encoders(roc.getEncoders())
- .parsers(roc.getParsers())
+ .encoders(opContext.getEncoders())
+ .parsers(opContext.getParsers())
.headers(headers)
- .maxInput(roc.getMaxInput());
+ .maxInput(opContext.getMaxInput());
if (isDebug())
inner = CachingHttpServletRequest.wrap(inner);
@@ -267,38 +270,6 @@ public final class RestRequest extends
HttpServletRequestWrapper {
}
/**
- * Returns the media types that are valid for <c>Accept</c> headers on
the request.
- *
- * @return The set of media types registered in the serializer group of
this request.
- */
- public List<MediaType> getProduces() {
- return opContext.getSupportedAcceptTypes();
- }
-
- /**
- * Returns the media types that are valid for <c>Content-Type</c>
headers on the request.
- *
- * @return The set of media types registered in the parser group of
this request.
- */
- public List<MediaType> getConsumes() {
- return opContext.getSupportedContentTypes();
- }
-
- /**
- * Returns the {@link ContextProperties} for this request.
- *
- * <p>
- * Consists of a read-only roll-up of all configuration properties
defined on this method and class.
- *
- * @return
- * The property store for this request.
- * <br>Never <jk>null</jk>.
- */
- public ContextProperties getContextProperties() {
- return opContext.getContextProperties();
- }
-
- /**
* Sets the charset to expect on the request body.
*/
@Override /* ServletRequest */
@@ -420,30 +391,6 @@ public final class RestRequest extends
HttpServletRequestWrapper {
return attrs;
}
- /**
- * Same as {@link #getAttribute(String)} but returns a default value if
not found.
- *
- * @param name The request attribute name.
- * @param def The default value if the attribute doesn't exist.
- * @return The request attribute value.
- */
- public Object getAttribute(String name, Object def) {
- Object o = super.getAttribute(name);
- return (o == null ? def : o);
- }
-
- /**
- * Shorthand method for calling {@link #setAttribute(String, Object)}
fluently.
- *
- * @param name The request attribute name.
- * @param value The request attribute value.
- * @return This object (for method chaining).
- */
- public RestRequest attr(String name, Object value) {
- setAttribute(name, value);
- return this;
- }
-
//-----------------------------------------------------------------------------------------------------------------
// Query parameters
//-----------------------------------------------------------------------------------------------------------------
@@ -560,7 +507,7 @@ public final class RestRequest extends
HttpServletRequestWrapper {
public RequestFormData getFormData() throws InternalServerError {
try {
if (formData == null) {
- formData = new RequestFormData(this,
getPartParser());
+ formData = new RequestFormData(this,
partParserSession);
if (! body.isLoaded()) {
formData.putAll(getParameterMap());
} else {
@@ -727,11 +674,6 @@ public final class RestRequest extends
HttpServletRequestWrapper {
return getBody().getInputStream();
}
- ServletInputStream getRawInputStream() throws IOException {
- return inner.getInputStream();
- }
-
-
//-----------------------------------------------------------------------------------------------------------------
// URI-related methods
//-----------------------------------------------------------------------------------------------------------------
@@ -872,43 +814,31 @@ public final class RestRequest extends
HttpServletRequestWrapper {
return context.getSwagger(getLocale());
}
-
//-----------------------------------------------------------------------------------------------------------------
- // Other methods
-
//-----------------------------------------------------------------------------------------------------------------
-
/**
- * Returns the serializers associated with this request.
- *
- * <ul class='seealso'>
- * <li class='link'>{@doc RestSerializers}
- * </ul>
+ * Returns the swagger for the Java method invoked.
*
- * @return The serializers associated with this request.
+ * @return The swagger for the Java method as an {@link Optional}.
Never <jk>null</jk>.
*/
- public SerializerGroup getSerializers() {
- return opContext.getSerializers();
- }
+ public Optional<Operation> getOperationSwagger() {
- /**
- * Returns the parsers associated with this request.
- *
- * <ul class='seealso'>
- * <li class='link'>{@doc RestParsers}
- * </ul>
- *
- * @return The parsers associated with this request.
- */
- public ParserGroup getParsers() {
- return opContext.getParsers();
+ Optional<Swagger> swagger = getSwagger();
+ if (! swagger.isPresent())
+ return Optional.empty();
+
+ return swagger.get().operation(opContext.getPathPattern(),
getMethod().toLowerCase());
}
+
//-----------------------------------------------------------------------------------------------------------------
+ // Other methods
+
//-----------------------------------------------------------------------------------------------------------------
+
/**
* Returns the part serializer associated with this request.
*
* @return The part serializer associated with this request.
*/
- public HttpPartParserSession getPartParser() {
- return partParserSession == null ?
OpenApiParser.DEFAULT.createPartSession(null) : partParserSession;
+ public HttpPartParserSession getPartParserSession() {
+ return partParserSession;
}
/**
@@ -916,8 +846,8 @@ public final class RestRequest extends
HttpServletRequestWrapper {
*
* @return The part serializer associated with this request.
*/
- public HttpPartSerializerSession getPartSerializer() {
- return partSerializerSession == null ?
OpenApiSerializer.DEFAULT.createPartSession(null) : partSerializerSession;
+ public HttpPartSerializerSession getPartSerializerSession() {
+ return partSerializerSession;
}
/**
@@ -929,7 +859,7 @@ public final class RestRequest extends
HttpServletRequestWrapper {
*/
@Override /* ServletRequest */
public String getMethod() {
- return method;
+ return call.getMethod();
}
@Override /* ServletRequest */
@@ -937,10 +867,6 @@ public final class RestRequest extends
HttpServletRequestWrapper {
return getBody().getContentLength();
}
- int getRawContentLength() {
- return super.getContentLength();
- }
-
/**
* Returns <jk>true</jk> if <c>&plainText=true</c> was specified as
a URL parameter.
*
@@ -1019,8 +945,6 @@ public final class RestRequest extends
HttpServletRequestWrapper {
* @return The request bean session.
*/
public BeanSession getBeanSession() {
- if (beanSession == null)
- beanSession = context.createBeanSession();
return beanSession;
}
@@ -1216,9 +1140,9 @@ public final class RestRequest extends
HttpServletRequestWrapper {
* associated with it.
*/
public Config getConfig() {
- if (cf == null)
- cf =
context.getConfig().resolving(getVarResolverSession());
- return cf;
+ if (config == null)
+ config =
context.getConfig().resolving(getVarResolverSession());
+ return config;
}
/**
@@ -1284,7 +1208,7 @@ public final class RestRequest extends
HttpServletRequestWrapper {
public Object invoke(Object proxy,
Method method, Object[] args) throws Throwable {
RequestBeanPropertyMeta pm =
rbm.getProperty(method.getName());
if (pm != null) {
- HttpPartParserSession
pp = pm.getParser(getPartParser());
+ HttpPartParserSession
pp = pm.getParser(getPartParserSession());
HttpPartSchema schema =
pm.getSchema();
String name =
pm.getPartName();
ClassMeta<?> type =
getContext().getClassMeta(method.getGenericReturnType());
@@ -1317,7 +1241,8 @@ public final class RestRequest extends
HttpServletRequestWrapper {
String h = e.nextElement();
sb.append("\t").append(h).append(":
").append(getHeader(h)).append("\n");
}
- if (method.equals("PUT") || method.equals("POST")) {
+ String m = getMethod();
+ if (m.equals("PUT") || m.equals("POST")) {
try {
sb.append("---Body UTF-8---\n");
sb.append(body.asString()).append("\n");
@@ -1367,9 +1292,9 @@ public final class RestRequest extends
HttpServletRequestWrapper {
}
void close() {
- if (cf != null) {
+ if (config != null) {
try {
- cf.close();
+ config.close();
} catch (IOException e) {
e.printStackTrace();
}
@@ -1416,25 +1341,11 @@ public final class RestRequest extends
HttpServletRequestWrapper {
}
/**
- * Returns the swagger for the Java method invoked.
- *
- * @return The swagger for the Java method as an {@link Optional}.
Never <jk>null</jk>.
- */
- public Optional<Operation> getMethodSwagger() {
-
- Optional<Swagger> swagger = context.getSwagger(getLocale());
- if (! swagger.isPresent())
- return Optional.empty();
-
- return swagger.get().operation(opContext.getPathPattern(),
getMethod().toLowerCase());
- }
-
- /**
* Returns the wrapped servlet request.
*
* @return The wrapped servlet request.
*/
- public HttpServletRequest getInner() {
+ public HttpServletRequest getHttpServletRequest() {
return inner;
}
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 763ce01..f96fe8b 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
@@ -540,7 +540,7 @@ public final class RestResponse extends
HttpServletResponseWrapper {
*/
public RestResponse header(HttpPartSerializerSession serializer,
HttpPartSchema schema, String name, Object value) throws
SchemaValidationException, SerializeException {
if (serializer == null)
- serializer = request.getPartSerializer();
+ serializer = request.getPartSerializerSession();
setHeader(name, serializer.serialize(HEADER, schema, value));
return this;
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/BasicRestLogger.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/BasicRestLogger.java
index 8dc1e85..aef1a57 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/BasicRestLogger.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/BasicRestLogger.java
@@ -336,7 +336,7 @@ public class BasicRestLogger implements RestLogger {
private byte[] getRequestBody(HttpServletRequest req) {
if (req instanceof RestRequest)
- req = ((RestRequest)req).getInner();
+ req = ((RestRequest)req).getHttpServletRequest();
if (req instanceof CachingHttpServletRequest)
return ((CachingHttpServletRequest)req).getBody();
return castOrNull(req.getAttribute("RequestBody"),
byte[].class);
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/FormDataParam.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/FormDataParam.java
index 8569aba..d053ca9 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/FormDataParam.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/FormDataParam.java
@@ -96,7 +96,7 @@ public class FormDataParam implements RestOperationParam {
@Override /* RestOperationParam */
public Object resolve(RestCall call) throws Exception {
RestRequest req = call.getRestRequest();
- HttpPartParserSession ps = partParser == null ?
req.getPartParser() : partParser.createPartSession(req.getParserSessionArgs());
+ HttpPartParserSession ps = partParser == null ?
req.getPartParserSession() :
partParser.createPartSession(req.getParserSessionArgs());
RequestFormData fd = req.getFormData();
return multi ? fd.getAll(ps, schema, name, type.innerType()) :
fd.get(ps, schema, name, type.innerType());
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/HeaderParam.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/HeaderParam.java
index 1fa1070..95d6fdb 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/HeaderParam.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/HeaderParam.java
@@ -96,7 +96,7 @@ public class HeaderParam implements RestOperationParam {
@Override /* RestOperationParam */
public Object resolve(RestCall call) throws Exception {
RestRequest req = call.getRestRequest();
- HttpPartParserSession ps = partParser == null ?
req.getPartParser() : partParser.createPartSession(req.getParserSessionArgs());
+ HttpPartParserSession ps = partParser == null ?
req.getPartParserSession() :
partParser.createPartSession(req.getParserSessionArgs());
RequestHeaders rh = call.getRestRequest().getHeaders();
return multi ? rh.getAll(ps, schema, name, type.innerType()) :
rh.get(ps, schema, name, type.innerType());
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/PathParam.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/PathParam.java
index ccf2a60..8d2e7fd 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/PathParam.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/PathParam.java
@@ -102,7 +102,7 @@ public class PathParam implements RestOperationParam {
@Override /* RestOperationParam */
public Object resolve(RestCall call) throws Exception {
RestRequest req = call.getRestRequest();
- HttpPartParserSession ps = partParser == null ?
req.getPartParser() : partParser.createPartSession(req.getParserSessionArgs());
+ HttpPartParserSession ps = partParser == null ?
req.getPartParserSession() :
partParser.createPartSession(req.getParserSessionArgs());
return call.getRestRequest().getPathMatch().get(ps, schema,
name, type);
}
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/QueryParam.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/QueryParam.java
index af7d26a..131e5a6 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/QueryParam.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/QueryParam.java
@@ -92,7 +92,7 @@ public class QueryParam implements RestOperationParam {
@Override /* RestOperationParam */
public Object resolve(RestCall call) throws Exception {
RestRequest req = call.getRestRequest();
- HttpPartParserSession ps = partParser == null ?
req.getPartParser() : partParser.createPartSession(req.getParserSessionArgs());
+ HttpPartParserSession ps = partParser == null ?
req.getPartParserSession() :
partParser.createPartSession(req.getParserSessionArgs());
RequestQuery rq = req.getQuery();
return multi ? rq.getAll(ps, schema, name, type.innerType()) :
rq.get(ps, schema, name, type.innerType());
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/ResponseHeaderParam.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/ResponseHeaderParam.java
index 3f0eb7b..822ee27 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/ResponseHeaderParam.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/ResponseHeaderParam.java
@@ -91,7 +91,7 @@ public class ResponseHeaderParam implements
RestOperationParam {
ResponsePartMeta rpm =
req.getResponseHeaderMeta(o);
if (rpm == null)
rpm =
ResponseHeaderParam.this.meta;
- HttpPartSerializerSession pss =
rpm.getSerializer() == null ? req.getPartSerializer() :
rpm.getSerializer().createPartSession(req.getSerializerSessionArgs());
+ HttpPartSerializerSession pss =
rpm.getSerializer() == null ? req.getPartSerializerSession() :
rpm.getSerializer().createPartSession(req.getSerializerSessionArgs());
res.setHeader(new HttpPart(name,
HttpPartType.HEADER, rpm.getSchema(), pss, o));
} catch (SerializeException |
SchemaValidationException e) {
throw new RuntimeException(e);
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/DefaultHandler.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/DefaultHandler.java
index dbc7b59..a3f34c8 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/DefaultHandler.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/DefaultHandler.java
@@ -98,7 +98,7 @@ public class DefaultHandler implements ResponseHandler {
String k =
stringify(e.getKey());
Object v =
e.getValue();
HttpPartSchema
s = hm.getSchema().getProperty(k);
-
res.setHeader(new HttpPart(k, RESPONSE_HEADER, s,
hm.getSerializer(req.getPartSerializer()), v));
+
res.setHeader(new HttpPart(k, RESPONSE_HEADER, s,
hm.getSerializer(req.getPartSerializerSession()), v));
} else if (ho2
instanceof NameValuePair) {
NameValuePair p
= (NameValuePair)ho2;
res.setHeader(p.getName(), p.getValue());
@@ -111,7 +111,7 @@ public class DefaultHandler implements ResponseHandler {
NameValuePair p =
(NameValuePair)ho;
res.setHeader(p.getName(), p.getValue());
} else {
- res.setHeader(new
HttpPart(n, RESPONSE_HEADER, hm.getSchema(),
hm.getSerializer(req.getPartSerializer()), ho));
+ res.setHeader(new
HttpPart(n, RESPONSE_HEADER, hm.getSchema(),
hm.getSerializer(req.getPartSerializerSession()), ho));
}
}
} catch (Exception e) {
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
index b288ada..bcb6a44 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
@@ -95,7 +95,7 @@ public class RequestSwaggerVar extends MultipartResolvingVar {
RestRequest req =
session.getBean(RestRequest.class).orElseThrow(InternalServerError::new);
Optional<Swagger> swagger = req.getSwagger();
WriterSerializer s = SimpleJsonSerializer.DEFAULT;
- Optional<Operation> methodSwagger =
req.getMethodSwagger();
+ Optional<Operation> methodSwagger =
req.getOperationSwagger();
char c = StringUtils.charAt(key, 0);
if (c == 'c') {
if ("contact".equals(key))
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
index f4ed05f..2822db4 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
@@ -60,7 +60,7 @@ public class SerializedRequestAttrVar extends StreamedVar {
Object o = req.getAttribute(key);
if (o == null)
o = key;
- Serializer s = req.getSerializers().getSerializer(s2[0]);
+ Serializer s =
req.getOpContext().getSerializers().getSerializer(s2[0]);
if (s != null)
s.serialize(w, o);
}
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
index 00794a1..320d53e 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
@@ -68,7 +68,7 @@ public class ContentTypeMenuItem extends MenuItemWidget {
public Div getContent(RestRequest req, RestResponse res) {
Div div = div();
Set<MediaType> l = new TreeSet<>();
- for (Serializer s : req.getSerializers().getSerializers())
+ for (Serializer s :
req.getOpContext().getSerializers().getSerializers())
l.add(s.getPrimaryMediaType());
for (MediaType mt : l) {
URI uri = req.getUri(true,
AMap.of("plainText","true","Accept",mt.toString()));
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Restx_Parsers_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Restx_Parsers_Test.java
index 9c0564a..d5d3164 100644
---
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Restx_Parsers_Test.java
+++
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Restx_Parsers_Test.java
@@ -221,17 +221,17 @@ public class Restx_Parsers_Test {
@RestOp
public OList a(RestRequest req) {
// Should show ['text/p3','text/p4','text/p1','text/p2']
- return OList.of(req.getConsumes());
+ return
OList.of(req.getOpContext().getSupportedContentTypes());
}
@RestOp(parsers=P5.class)
public OList b(RestRequest req) {
// Should show ['text/p5']
- return OList.of(req.getConsumes());
+ return
OList.of(req.getOpContext().getSupportedContentTypes());
}
@RestOp(parsers={P5.class,Inherit.class})
public OList c(RestRequest req) {
// Should show
['text/p5','text/p3','text/p4','text/p1','text/p2']
- return OList.of(req.getConsumes());
+ return
OList.of(req.getOpContext().getSupportedContentTypes());
}
}