@Override public boolean isWriteable(Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { return requireNonNull(headers).getAcceptableMediaTypes().contains(contentType); }
private boolean isStreaming( HttpHeaders httpHeaders ) { if ( "true".equalsIgnoreCase( httpHeaders.getRequestHeaders().getFirst( StreamingFormat.STREAM_HEADER ) ) ) { return true; } for ( MediaType mediaType : httpHeaders.getAcceptableMediaTypes() ) { Map<String, String> parameters = mediaType.getParameters(); if ( parameters.containsKey( "stream" ) && "true".equalsIgnoreCase( parameters.get( "stream" ) ) ) { return true; } } return false; } }
@Override public List<MediaType> getAcceptableMediaTypes() { return httpRequest.getHttpHeaders().getAcceptableMediaTypes(); }
@Provider public class NotFoundExceptionHandler implements ExceptionMapper<NotFoundException>{ @Context private HttpHeaders headers; public Response toResponse(NotFoundException ex){ return Response.status(404).entity(yourMessage).type( getAcceptType()).build(); } private String getAcceptType(){ List<MediaType> accepts = headers.getAcceptableMediaTypes(); if (accepts!=null && accepts.size() > 0) { //choose one }else { //return a default one like Application/json } } }
@Override public void checkViolationsfromCDI(HttpRequest request) { if (request == null) { return; } SimpleViolationsContainer violationsContainer = SimpleViolationsContainer.class.cast(request.getAttribute(SimpleViolationsContainer.class.getName())); if (violationsContainer != null && violationsContainer.size() > 0) { throw new ResteasyViolationExceptionImpl(violationsContainer, request.getHttpHeaders().getAcceptableMediaTypes()); } }
private MediaType resolveContentType(HttpRequest jaxrsRequest, MediaType mt) { if (mt == null || MediaType.MEDIA_TYPE_WILDCARD.equals(mt.getType())) { List<MediaType> acceptableMediaTypes = jaxrsRequest.getHttpHeaders() .getAcceptableMediaTypes(); if (contentType != null && isAcceptable(acceptableMediaTypes, contentType)) { return contentType; } return MediaTypeHelper.getBestMatch(potentialContentTypes, acceptableMediaTypes); } return mt; }
@Override @SuppressWarnings({"rawtypes", "unchecked"}) public void checkForConstraintViolations(HttpRequest request, Exception e) { Throwable t = e; while (t != null && !(t instanceof ConstraintViolationException)) { t = t.getCause(); } if (t instanceof ResteasyViolationException) { throw ResteasyViolationException.class.cast(t); } if (t instanceof ConstraintViolationException) { SimpleViolationsContainer violationsContainer = getViolationsContainer(request, null); ConstraintViolationException cve = ConstraintViolationException.class.cast(t); Set cvs = cve.getConstraintViolations(); violationsContainer.addViolations(cvs); if (violationsContainer.size() > 0) { throw new ResteasyViolationExceptionImpl(violationsContainer, request.getHttpHeaders().getAcceptableMediaTypes()); } } return; }
@Override public void checkViolations(HttpRequest request) { // Called from resteasy-jaxrs only if two argument version of isValidatable() returns true. SimpleViolationsContainer violationsContainer = getViolationsContainer(request, null); Object target = violationsContainer.getTarget(); if (target != null && violationsContainer.isFieldsValidated()) { if (violationsContainer != null && violationsContainer.size() > 0) { throw new ResteasyViolationExceptionImpl(violationsContainer, request.getHttpHeaders().getAcceptableMediaTypes()); } } }
List<MediaType> requestAccepts = request.getHttpHeaders().getAcceptableMediaTypes(); List<WeightedMediaType> weightedAccepts = new ArrayList<WeightedMediaType>(); for (MediaType accept : requestAccepts) weightedAccepts.add(WeightedMediaType.parse(accept));
public MediaType resolveContentType(HttpRequest in, Object entity) { MediaType chosen = (MediaType)in.getAttribute(SegmentNode.RESTEASY_CHOSEN_ACCEPT); if (chosen != null && !chosen.equals(MediaType.WILDCARD_TYPE)) { return chosen; } List<MediaType> accepts = in.getHttpHeaders().getAcceptableMediaTypes(); if (accepts == null || accepts.size() == 0) { if (method.getProduces().length == 0) return MediaType.WILDCARD_TYPE; else return method.getProduces()[0]; } if (method.getProduces().length == 0) { return resolveContentTypeByAccept(accepts, entity); } for (MediaType accept : accepts) { for (MediaType type : method.getProduces()) { if (type.isCompatible(accept)) return type; } } return MediaType.WILDCARD_TYPE; }
List<MediaType> accepts = request.getHttpHeaders().getAcceptableMediaTypes(); List<MediaType> accepts = request.getHttpHeaders().getAcceptableMediaTypes(); List<SortableMediaType> M = new ArrayList<SortableMediaType>(); boolean hasStarStar = false;
@Override public void validateAllParameters(HttpRequest request, Object object, Method method, Object[] parameterValues, Class<?>... groups) { Validator validator = getValidator(request); SimpleViolationsContainer violationsContainer = getViolationsContainer(request, object); if (method.getParameterTypes().length == 0) { checkViolations(request); return; } Set<ConstraintViolation<Object>> cvs = null; try { cvs = validator.forExecutables().validateParameters(object, method, parameterValues, groups); } catch (Exception e) { violationsContainer.setException(e); throw toValidationException(e, violationsContainer); } violationsContainer.addViolations(cvs); if ((violationsContainer.isFieldsValidated() || !GetRestful.isRootResource(object.getClass()) || hasApplicationScope(object)) && violationsContainer.size() > 0) { throw new ResteasyViolationExceptionImpl(violationsContainer, request.getHttpHeaders().getAcceptableMediaTypes()); } }
@Override public void validateReturnValue(HttpRequest request, Object object, Method method, Object returnValue, Class<?>... groups) { Validator validator = getValidator(request); SimpleViolationsContainer violationsContainer = getViolationsContainer(request, object); Set<ConstraintViolation<Object>> cvs = null; try { cvs = validator.forExecutables().validateReturnValue(object, method, returnValue, groups); } catch (Exception e) { violationsContainer.setException(e); throw toValidationException(e, violationsContainer); } violationsContainer.addViolations(cvs); if (violationsContainer.size() > 0) { throw new ResteasyViolationExceptionImpl(violationsContainer, request.getHttpHeaders().getAcceptableMediaTypes()); } }
protected boolean isRedirectPossible(HttpHeaders headers) { List<MediaType> clientTypes = headers.getAcceptableMediaTypes(); return !JAXRSUtils.intersectMimeTypes(clientTypes, HTML_MEDIA_TYPES, false) .isEmpty(); } }
@Override public List<MediaType> getAcceptableMediaTypes() { return httpRequest.getHttpHeaders().getAcceptableMediaTypes(); }
protected boolean isRedirectPossible(HttpHeaders headers) { List<MediaType> clientTypes = headers.getAcceptableMediaTypes(); return !JAXRSUtils.intersectMimeTypes(clientTypes, HTML_MEDIA_TYPES, false) .isEmpty(); } }
@GET public Response getVersion() { List<MediaType> mediaTypeList = httpHeaders.getAcceptableMediaTypes(); String requestMethod = (String)customContext.getMessage().get(Message.HTTP_REQUEST_METHOD); String pathInfo = (String)customContext.getMessage().get(Message.PATH_INFO); return Response.ok(version, mediaTypeList.get(0)) .header(Message.HTTP_REQUEST_METHOD, requestMethod) .header(Message.PATH_INFO, pathInfo) .build(); } }
public CompletionStage<Response> forward() { WebTarget target = client.path(uriInfo.getPath()); for (final Map.Entry<String, List<String>> query : uriInfo.getQueryParameters().entrySet()) { target = target.queryParam(query.getKey(), query.getValue().toArray(emptyObjectsArray)); } final MultivaluedMap<String, String> requestHeaders = headers.getRequestHeaders(); final MediaType[] types = headers.getAcceptableMediaTypes().toArray(emptyMediaTypesArray); final CompletionStageRxInvoker invoker = target.request(types).headers(MultivaluedMap.class.cast(requestHeaders)).rx(); return decorate(invoker.method(request.getMethod())); } }
protected Response updateInternal(String version, String persistenceUnit, String type, HttpHeaders headers, UriInfo uriInfo, InputStream in) { JPARSLogger.entering(CLASS_NAME, "updateInternal", new Object[] { "POST", headers.getMediaType(), version, persistenceUnit, type, uriInfo.getRequestUri().toASCIIString() }); try { PersistenceContext context = getPersistenceContext(persistenceUnit, type, uriInfo.getBaseUri(), version, null); Object entity = context.unmarshalEntity(type, mediaType(headers.getAcceptableMediaTypes()), in); entity = context.merge(getMatrixParameters(uriInfo, persistenceUnit), entity); return Response.ok(new StreamingOutputMarshaller(context, singleEntityResponse(context, entity, uriInfo), headers.getAcceptableMediaTypes())).build(); } catch (Exception ex) { throw JPARSException.exceptionOccurred(ex); } }
@Path("{a:.*}") @DefaultMethod public Response handle() { if (HttpMethod.GET.equals(request.getMethod())) { String id = ui.getPathParameters().getFirst("id"); Book book = books.get(id); return Response.ok(book, headers.getAcceptableMediaTypes().get(0)).build(); } throw new NotAllowedException("GET"); } public Book echo(Book book) {