本文整理汇总了Java中javax.ws.rs.ext.ReaderInterceptorContext.proceed方法的典型用法代码示例。如果您正苦于以下问题:Java ReaderInterceptorContext.proceed方法的具体用法?Java ReaderInterceptorContext.proceed怎么用?Java ReaderInterceptorContext.proceed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.ws.rs.ext.ReaderInterceptorContext
的用法示例。
在下文中一共展示了ReaderInterceptorContext.proceed方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext context) throws IOException, WebApplicationException {
if (!isVersioningSupported(context)) {
return context.proceed();
}
String sourceVersion = Version.get(context);
Type targetType = context.getGenericType();
Type sourceType = getVersionType(targetType, sourceVersion);
context.setType(toClass(sourceType));
context.setGenericType(sourceType);
Object sourceObject = context.proceed();
Object target;
if (sourceObject instanceof Collection) {
target = convertCollectionToHigherVersion(targetType, (Collection<?>)sourceObject, sourceVersion);
} else {
target = converter.convertToHigherVersion(toClass(targetType), sourceObject, sourceVersion);
}
context.setType(toClass(targetType));
context.setGenericType(targetType);
return target;
}
示例2: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext context) throws IOException, WebApplicationException {
Object object = context.proceed();
if (context.getProperty(EMPTY_PAYLOAD) != TRUE) {
return object;
}
if (object instanceof Collection) {
Collection<?> collection = (Collection<?>) object;
if (collection.isEmpty()) {
throw new EmptyPayloadException();
}
} else if (object instanceof Map) {
Map<?, ?> map = (Map<?, ?>) object;
if (map.isEmpty()) {
throw new EmptyPayloadException();
}
} else if (object == null) {
throw new EmptyPayloadException();
}
return object;
}
示例3: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext ric) throws IOException, WebApplicationException {
System.out.println("MyClientReaderInterceptor");
final InputStream old = ric.getInputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
int c;
while ((c = old.read()) != -1) {
baos.write(c);
}
System.out.println("MyClientReaderInterceptor --> " + baos.toString());
ric.setInputStream(new ByteArrayInputStream(baos.toByteArray()));
return ric.proceed();
}
示例4: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext readerInterceptorContext) throws IOException, WebApplicationException {
final InputStream originalInputStream = readerInterceptorContext.getInputStream();
readerInterceptorContext.setInputStream(new InputStream() {
@Override
public int read() throws IOException {
boolean isOk;
int b;
do {
b = originalInputStream.read();
isOk = b == -1 || Character.isLetterOrDigit(b) || Character.isWhitespace(b) || b == ((int) '.');
} while (!isOk);
return b;
}
});
try {
return readerInterceptorContext.proceed();
} finally {
readerInterceptorContext.setInputStream(originalInputStream);
}
}
示例5: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext context) throws IOException, WebApplicationException {
InputStream originalInputStream = context.getInputStream();
if (!originalInputStream.markSupported())
originalInputStream = new BufferedInputStream(originalInputStream);
// Test, if it contains data. We only try to unzip, if it is not empty.
originalInputStream.mark(5);
int read = originalInputStream.read();
originalInputStream.reset();
if (read > -1)
context.setInputStream(new GZIPInputStream(originalInputStream));
else {
context.setInputStream(originalInputStream); // We might have wrapped it with our BufferedInputStream!
logger.debug("aroundReadFrom: originalInputStream is empty! Skipping GZIP.");
}
return context.proceed();
}
示例6: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext interceptorContext)
throws IOException, WebApplicationException {
logger.info("ServerReaderInterceptor invoked");
InputStream inputStream = interceptorContext.getInputStream();
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
String requestContent = new String(bytes);
requestContent = requestContent + ".Request changed in ServerReaderInterceptor.";
interceptorContext.setInputStream(new ByteArrayInputStream(requestContent.getBytes()));
return interceptorContext.proceed();
}
开发者ID:PacktPublishing,项目名称:Mastering-Java-EE-Development-with-WildFly,代码行数:13,代码来源:ServerReaderInterceptor.java
示例7: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext interceptorContext)
throws IOException, WebApplicationException {
logger.info("ClientSecondReaderInterceptor invoked.");
InputStream inputStream = interceptorContext.getInputStream();
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
String requestContent = new String(bytes);
requestContent = requestContent + " Request changed in ClientSecondReaderInterceptor.";
interceptorContext.setInputStream(new ByteArrayInputStream(requestContent.getBytes()));
return interceptorContext.proceed();
}
开发者ID:PacktPublishing,项目名称:Mastering-Java-EE-Development-with-WildFly,代码行数:13,代码来源:ClientSecondReaderInterceptor.java
示例8: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext interceptorContext)
throws IOException, WebApplicationException {
logger.info("ClientFirstReaderInterceptor invoked");
InputStream inputStream = interceptorContext.getInputStream();
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes);
String requestContent = new String(bytes);
requestContent = requestContent + ".Request changed in ClientFirstReaderInterceptor.";
interceptorContext.setInputStream(new ByteArrayInputStream(requestContent.getBytes()));
return interceptorContext.proceed();
}
开发者ID:PacktPublishing,项目名称:Mastering-Java-EE-Development-with-WildFly,代码行数:13,代码来源:ClientFirstReaderInterceptor.java
示例9: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext context) throws IOException, WebApplicationException {
final List<String> header = context.getHeaders().get(HttpHeaders.CONTENT_ENCODING);
if (header != null && header.contains("gzip")) {
context.setInputStream(new GZIPInputStream(context.getInputStream()));
}
return context.proceed();
}
示例10: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext context)
throws IOException, WebApplicationException {
Object entity = context.proceed();
MediaType mediaType = context.getMediaType();
if (mediaType != null
&& mediaType.isCompatible(MediaType.APPLICATION_FORM_URLENCODED_TYPE)) {
Form form = (Form) entity;
String csrfToken = form.asMap().getFirst("csrfToken");
if (userProvider.validateCsrfToken(csrfToken) == false) {
throw new BadRequestException();
}
}
return entity;
}
示例11: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public final Object aroundReadFrom(ReaderInterceptorContext context) throws IOException {
if (isBase64(context)) {
context.setInputStream(Base64.getDecoder().wrap(context.getInputStream()));
}
return context.proceed();
}
示例12: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext context)
throws IOException, WebApplicationException {
try (ActiveSpan activeSpan = decorateRead(context, buildSpan(context, "deserialize"))) {
try {
return context.proceed();
} catch (Exception e) {
//TODO add exception logs in case they are not added by the filter.
Tags.ERROR.set(activeSpan, true);
throw e;
}
}
}
示例13: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
public Object aroundReadFrom(ReaderInterceptorContext context)
throws IOException, WebApplicationException {
TraceContext traceContext = tracer.startSpan("MessageBodyReader#readFrom");
Object result;
try {
result = context.proceed();
} finally {
tracer.endSpan(traceContext);
}
return result;
}
开发者ID:GoogleCloudPlatform,项目名称:cloud-trace-java-instrumentation,代码行数:12,代码来源:TraceMessageBodyInterceptor.java
示例14: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom (ReaderInterceptorContext context)
throws IOException, WebApplicationException {
final InputStream originalInputStream = context.getInputStream();
context.setInputStream(new GZIPInputStream(originalInputStream));
return context.proceed();
}
示例15: aroundReadFrom
import javax.ws.rs.ext.ReaderInterceptorContext; //导入方法依赖的package包/类
@Override
public Object aroundReadFrom(ReaderInterceptorContext context) throws IOException {
String json = JsonStrings.inputStreamToString(context.getInputStream());
JsonStrings.isNotNullOrEmpty(json);
context.setInputStream(new ByteArrayInputStream(json.getBytes(Charset.forName("UTF-8"))));
String jobId = uriInfo.getPathParameters().getFirst("jobId");
Job job = jobManager.getJob(jobId).orElseThrow(NotFoundException::new);
Class<? extends JobConfigurationModel> configurationModelType = getJobConfigurationModelClass(job.getJobConfiguration());
context.setType(configurationModelType);
context.setGenericType(configurationModelType);
return context.proceed();
}