private static Object processRequestBodyParameter(Class<?> parameterClass,
Type parameterType,
Annotation[] parameterAnns,
Message message,
OperationResourceInfo ori)
throws IOException, WebApplicationException {
InputStream is = message.getContent(InputStream.class);
if (is == null) {
Reader reader = message.getContent(Reader.class);
if (reader != null) {
is = new ReaderInputStream(reader);
}
}
if (parameterClass == AsyncResponse.class) {
return new AsyncResponseImpl(message);
}
String contentType = (String)message.get(Message.CONTENT_TYPE);
if (contentType == null) {
String defaultCt = (String)message.getContextualProperty(DEFAULT_CONTENT_TYPE);
contentType = defaultCt == null ? MediaType.APPLICATION_OCTET_STREAM : defaultCt;
}
return readFromMessageBody(parameterClass,
parameterType,
parameterAnns,
is,
toMediaType(contentType),
ori,
message);
}