public <T> T readEntity(Class<T> cls, Annotation[] anns) throws ProcessingException, IllegalStateException { return doReadEntity(cls, cls, anns); }
@Override public void setEntityStream(InputStream is) { m.setContent(InputStream.class, is); r.setEntity(is, r.getEntityAnnotations()); }
public Response build() { if (entity == null && !statusSet) { status = 204; } ResponseImpl r = new ResponseImpl(status, null, reasonPhrase); MetadataMap<String, Object> m = new MetadataMap<>(metadata, false, true); r.addMetadata(m); r.setEntity(entity, annotations); reset(); return r; }
public void setEntity(Object entity, Annotation[] anns, MediaType mt) { r.setEntity(entity, anns); if (mt != null) { r.getMetadata().putSingle(HttpHeaders.CONTENT_TYPE, mt); m.put(Message.CONTENT_TYPE, mt.toString()); } }
checkEntityIsClosed(); MediaType mediaType = getMediaType(); if (mediaType == null) { mediaType = MediaType.WILDCARD_TYPE; boolean entityStreamAvailable = entityStreamAvailable(); InputStream entityStream = null; if (!entityStreamAvailable) { entityStream = convertEntityToStreamIfPossible(); entityStreamAvailable = entityStream != null; } else if (entity instanceof InputStream) { entityStream = InputStream.class.cast(entity); } else { Message inMessage = getResponseMessage(); Reader reader = inMessage.getContent(Reader.class); if (reader != null) { Message responseMessage = getResponseMessage(); responseMessage.put(Message.PROTOCOL_HEADERS, getHeaders()); mediaType, responseMessage); autoClose(cls, false); return castLastEntity(); } catch (Exception ex) { autoClose(cls, true); reportMessageHandlerProblem("MSG_READER_PROBLEM", cls, mediaType, ex);
boolean headResponse = response.getStatus() == 200 && firstTry && ori != null && HttpMethod.HEAD.equals(ori.getHttpMethod()); Object entity = response.getActualEntity(); if (headResponse && entity != null) { LOG.info(new org.apache.cxf.common.i18n.Message("HEAD_WITHOUT_ENTITY", BUNDLE).toString()); Annotation[] responseAnns = response.getEntityAnnotations(); if (responseAnns != null) { annotations = new Annotation[staticAnns.length + responseAnns.length]; response.setStatus(getActualStatus(response.getStatus(), entity)); response.setEntity(entity, annotations); entity = InjectionUtils.getEntity(response.getActualEntity()); setResponseStatus(message, getActualStatus(response.getStatus(), entity)); if (entity == null) { if (!headResponse) { Class<?> targetType = InjectionUtils.getRawResponseClass(entity); Type genericType = InjectionUtils.getGenericResponseType(invoked, serviceCls, response.getActualEntity(), targetType, exchange); targetType = InjectionUtils.updateParamClassToTypeIfNeeded(targetType, genericType); annotations = response.getEntityAnnotations();
public <T> T doReadEntity(Class<T> cls, Type t, Annotation[] anns) throws MessageProcessingException, IllegalStateException { checkEntityIsClosed(); MediaType mediaType = getMediaType(); if (mediaType == null) { mediaType = MediaType.WILDCARD_TYPE; responseMessage.put(Message.PROTOCOL_HEADERS, this.getMetadata()); lastEntity = JAXRSUtils.readFromMessageBodyReader(readers, cls, t, anns, mediaType, responseMessage); if (!entityBufferred && responseStreamCanBeClosed(cls)) { InputStream.class.cast(entity).close(); entity = null; return castLastEntity(); } catch (Exception ex) { throw new MessageProcessingException(ex); return castLastEntity();
Annotation[] responseAnns = ((ResponseImpl)response).getEntityAnnotations(); if (responseAnns != null) { annotations = new Annotation[staticAnns.length + responseAnns.length]; ((ResponseImpl)response).setStatus( getActualStatus(response.getStatus(), entity)); ((ResponseImpl)response).setEntity(entity, annotations); InjectionUtils.getGenericResponseType(invoked, serviceCls, response.getEntity(), targetType, exchange); annotations = ((ResponseImpl)response).getEntityAnnotations();
@Override public void handleMessage(Message message) throws Fault { if (!enabled) { return; } MessageContentsList objs = MessageContentsList.getContentsList(message); if (objs == null || objs.size() == 0) { return; } Object responseObj = objs.get(0); Response response = null; if (responseObj instanceof Response) { response = (Response) responseObj; if (response.getStatus() != Status.OK.getStatusCode()) { if (response instanceof ResponseImpl) { ResponseImpl responseImpl = (ResponseImpl) response; responseImpl.setStatus(Status.OK.getStatusCode()); } return; } } } }
public void setEntity(Object entity) { r.setEntity(entity, getResponseEntityAnnotations()); }
protected Annotation[] getResponseEntityAnnotations() { return r.getEntityAnnotations(); }
public Date getLastModified() { return doGetDate(HttpHeaders.LAST_MODIFIED); }
public Object getActualEntity() { checkEntityIsClosed(); return lastEntity != null ? lastEntity : entity; }
public InputStream getEntityStream() { InputStream is = m.getContent(InputStream.class); if (is == null) { is = r.convertEntityToStreamIfPossible(); } return is; }
public void setStatus(int status) { m.getExchange().put(Message.RESPONSE_CODE, status); m.put(Message.RESPONSE_CODE, status); r.setStatus(status); }
public void setEntity(Object entity, Annotation[] anns, MediaType mt) { ((ResponseImpl)r).setEntity(entity, anns); if (mt != null) { r.getMetadata().putSingle(HttpHeaders.CONTENT_TYPE, mt); m.put(Message.CONTENT_TYPE, mt.toString()); } }
protected Annotation[] getResponseEntityAnnotations() { return ((ResponseImpl)r).getEntityAnnotations(); }
public Date getDate() { return doGetDate(HttpHeaders.DATE); }
public boolean bufferEntity() throws ProcessingException { checkEntityIsClosed(); if (!entityBufferred && entity instanceof InputStream) { try { InputStream oldEntity = (InputStream)entity; entity = IOUtils.loadIntoBAIS(oldEntity); oldEntity.close(); entityBufferred = true; } catch (IOException ex) { throw new ResponseProcessingException(this, ex); } } return entityBufferred; }
public InputStream getEntityStream() { InputStream is = m.getContent(InputStream.class); if (is == null) { is = r.convertEntityToStreamIfPossible(); } return is; }