@GET @Produces(MediaType.TEXT_HTML) @Path("index.html") public String index(@Context HttpHeaders httpHeaders) throws IOException { final URL templateUrl = this.getClass().getResource("/swagger/index.html.template"); final String template = Resources.toString(templateUrl, StandardCharsets.UTF_8); final Map<String, Object> model = ImmutableMap.of( "baseUri", RestTools.buildExternalUri(httpHeaders.getRequestHeaders(), httpConfiguration.getHttpExternalUri()).resolve(HttpConfiguration.PATH_API).toString()); return templateEngine.transform(template, model); }
if (servlet.isReadOnly()) { servlet.getMetrics().incrementFailedPutRequests(1); return Response.status(Response.Status.FORBIDDEN) .type(MIMETYPE_TEXT).entity("Forbidden" + CRLF) .build(); List<String> vals = headers.getRequestHeader("X-Row"); if (vals != null && !vals.isEmpty()) { row = Bytes.toBytes(vals.get(0)); vals = headers.getRequestHeader("X-Column"); if (vals != null && !vals.isEmpty()) { column = Bytes.toBytes(vals.get(0)); vals = headers.getRequestHeader("X-Timestamp"); if (vals != null && !vals.isEmpty()) { timestamp = Long.parseLong(vals.get(0)); return Response.status(Response.Status.BAD_REQUEST) .type(MIMETYPE_TEXT).entity("Bad request: Column found to be null." + CRLF) .build(); byte parts[][] = CellUtil.parseColumn(column); if (parts.length != 2) { return Response.status(Response.Status.BAD_REQUEST) .type(MIMETYPE_TEXT).entity("Bad request" + CRLF) .build();
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; } }
headers.getRequestHeader(CommonConstants.Controller.SEGMENT_NAME_HTTP_HEADER)); LOGGER.info("HTTP Header {} is {}", CommonConstants.Controller.TABLE_NAME_HTTP_HEADER, headers.getRequestHeader(CommonConstants.Controller.TABLE_NAME_HTTP_HEADER)); String uploadTypeStr = headers.getHeaderString(FileUploadDownloadClient.CustomHeaders.UPLOAD_TYPE); FileUploadDownloadClient.FileUploadType uploadType = getUploadType(uploadTypeStr); String crypterClassHeader = headers.getHeaderString(FileUploadDownloadClient.CustomHeaders.CRYPTER); String currentSegmentLocationURI = headers.getHeaderString(FileUploadDownloadClient.CustomHeaders.DOWNLOAD_URI);
/** * Handler for DELETE method requests for this resource Closes EMF and * removes application token along with from repository * * @param id * @return */ @DELETE @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) public Response closeApplication( @HeaderParam(Constants.APPLICATION_TOKEN_HEADER_NAME) String applicationToken, @Context HttpHeaders headers) { String mediaType = headers != null && headers.getRequestHeaders().containsKey("Content-type")? headers.getRequestHeader("Content-type").get(0) : MediaType.APPLICATION_JSON; mediaType = mediaType.equalsIgnoreCase(MediaType.APPLICATION_XML) ? MediaType.APPLICATION_XML : MediaType.APPLICATION_JSON; if (log.isDebugEnabled()) log.debug("DELETE: Application Token:" + applicationToken); EntityManagerFactory emf = EMFRepository.INSTANCE .getEMF(applicationToken); if (emf == null) { log.warn("DELETE: Application Token:" + applicationToken + " doesn't exist and hence can't be closed"); return Response.serverError().build();// ResponseCode.DELETE_AT_FAILED; } EMFRepository.INSTANCE.removeEMF(applicationToken); return Response.ok(new String(ResponseCode.DELETE_AT_SUCCESS), mediaType).build(); }
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) @Path("/{jpaQuery}") public Response executeUpdateJPAQuery(@Context HttpHeaders headers, @Context UriInfo info, String parameters) { String jpaQuery = info.getPathParameters().getFirst("jpaQuery"); String params = info.getRequestUri().getQuery(); String sessionToken = headers.getRequestHeader(Constants.SESSION_TOKEN_HEADER_NAME).get(0); sessionToken = sessionToken.replaceAll("^\"|\"$", ""); String mediaType = headers != null && headers.getRequestHeaders().containsKey("Content-type")? headers.getRequestHeader("Content-type").get(0) : MediaType.APPLICATION_JSON; mediaType = mediaType.equalsIgnoreCase(MediaType.APPLICATION_XML) ? MediaType.APPLICATION_XML return Response.noContent().build(); return Response.noContent().build(); return Response.ok(result, mediaType).build();
@GET @Path( "needs-auth-header" ) @Produces( MediaType.APPLICATION_JSON ) public Response authHeader( @Context HttpHeaders headers ) { StringBuilder theEntity = new StringBuilder( "{" ); Iterator<Map.Entry<String, List<String>>> headerIt = headers.getRequestHeaders().entrySet().iterator(); while ( headerIt.hasNext() ) { Map.Entry<String, List<String>> header = headerIt.next(); if ( header.getValue().size() != 1 ) { throw new IllegalArgumentException( "Multivalued header: " + header.getKey() ); } theEntity.append( "\"" ).append( header.getKey() ).append( "\":\"" ) .append( header.getValue().get( 0 ) ).append( "\"" ); if ( headerIt.hasNext() ) { theEntity.append( ", " ); } } theEntity.append( "}" ); return Response.ok().entity( theEntity.toString() ).build(); }
@GET @RequiresPermissions(SidecarRestPermissions.COLLECTORS_READ) @Produces(MediaType.APPLICATION_JSON) @ApiOperation(value = "List all collectors") public Response listCollectors(@Context HttpHeaders httpHeaders) { String ifNoneMatch = httpHeaders.getHeaderString("If-None-Match"); Boolean etagCached = false; Response.ResponseBuilder builder = Response.noContent(); if (etagService.isPresent(etag.toString())) { etagCached = true; builder = Response.notModified(); builder.tag(etag); builder = Response.ok(collectorListResponse); builder.tag(collectorsEtag); etagService.put(collectorsEtag.toString()); cacheControl.setNoTransform(true); cacheControl.setPrivate(true); builder.cacheControl(cacheControl); return builder.build();
@POST @Path("/books") @Produces("text/xml") @Consumes("application/xml") public Response addBook(Book book) { String ct1 = httpHeaders.getMediaType().toString(); String ct2 = httpHeaders.getRequestHeader("Content-Type").get(0); String ct3 = httpHeaders.getRequestHeaders().getFirst("Content-Type"); if (!("application/xml".equals(ct1) && ct1.equals(ct2) && ct1.equals(ct3))) { throw new RuntimeException("Unexpected content type"); } book.setId(bookId + 1); URI uri = ui.getRequestUriBuilder().path(Long.toString(book.getId())).build(); return Response.ok(book).location(uri).build(); }
@GET @Timed @Compress(buffer=(1024 * 40)) @Produces(APPLICATION_JSON_WITH_CHARSET) public Response get(@Context HugeConfig conf, @Context HttpHeaders headers, @Context UriInfo uriInfo) { String location = conf.get(ServerOptions.GREMLIN_SERVER_URL); String auth = headers.getHeaderString(HttpHeaders.AUTHORIZATION); String query = uriInfo.getRequestUri().getRawQuery(); return doGetRequest(location, auth, query); } }
@GET @Path("/books/feed") @Produces({"application/atom+xml", "application/json" }) public Feed getBooksAsFeed(@Context UriInfo uParam) { MediaType mt = headers.getMediaType(); if (!mt.equals(MediaType.valueOf(MediaType.MEDIA_TYPE_WILDCARD)) && !mt.equals(MediaType.APPLICATION_JSON_TYPE) && !mt.equals(MediaType.APPLICATION_ATOM_XML_TYPE)) { throw new WebApplicationException(); } return doGetBookAsFeed(uParam); }
public Match match(List<Match> matches, String httpMethod, HttpRequest request) MediaType contentType = request.getHttpHeaders().getMediaType(); List<MediaType> requestAccepts = request.getHttpHeaders().getAcceptableMediaTypes(); List<WeightedMediaType> weightedAccepts = new ArrayList<WeightedMediaType>(); for (MediaType accept : requestAccepts) weightedAccepts.add(WeightedMediaType.parse(accept)); ResponseBuilder resBuilder = Response.ok(allowHeaderValue.toString(), MediaType.TEXT_PLAIN_TYPE).header(HttpHeaderNames.ALLOW, allowHeaderValue.toString()); acceptPatch.append(mediaType.toString()); resBuilder.header(HttpHeaderNames.ACCEPT_PATCH, acceptPatch.toString()); throw new DefaultOptionsMethodException(Messages.MESSAGES.noResourceMethodFoundForOptions(), resBuilder.build()); Response res = Response.status(HttpResponseCodes.SC_METHOD_NOT_ALLOWED).header(HttpHeaderNames.ALLOW, allowHeaderValue).build(); throw new NotAllowedException(Messages.MESSAGES.noResourceMethodFoundForHttpMethod(httpMethod), res);
public Response.ResponseBuilder evaluatePreconditions() { List<String> ifMatch = headers.getRequestHeaders().get(IF_MATCH); if (ifMatch == null || ifMatch.size() == 0) { return null; } return Response.status(SC_PRECONDITION_FAILED); }
protected ProxiedResource(@Context HttpHeaders httpHeaders, NodeService nodeService, RemoteInterfaceProvider remoteInterfaceProvider, ExecutorService executorService) { this.nodeService = nodeService; this.remoteInterfaceProvider = remoteInterfaceProvider; this.executor = executorService; final List<String> authenticationTokens = httpHeaders.getRequestHeader("Authorization"); if (authenticationTokens != null && authenticationTokens.size() >= 1) { this.authenticationToken = authenticationTokens.get(0); } else { this.authenticationToken = null; } }
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); } }
private Response getDefaultResponse(HttpHeaders headers) { return Response .ok(indexHtmlGenerator.get(headers.getRequestHeaders())) .header(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_HTML) .header("X-UA-Compatible", "IE=edge") .build(); } }
@Override public Response toResponse(ConstraintViolationException exception) { ValidationExceptionRepresentation validationErrorDetails = new ValidationExceptionRepresentation(); ArrayList<ValidationExceptionRepresentation.ValidationError> validationErrors = new ArrayList<>(); boolean responseError = addErrorsToList(exception, validationErrors); validationErrorDetails.setErrors(validationErrors); return Response.status(responseError ? INTERNAL_SERVER_ERROR : BAD_REQUEST) .entity(validationErrorDetails) .type(headers.getMediaType()) .build(); }
protected Response deleteInternal(String version, String persistenceUnit, String type, String id, HttpHeaders headers, UriInfo uriInfo) { JPARSLogger.entering(CLASS_NAME, "deleteInternal", new Object[] { "DELETE", headers.getMediaType(), version, persistenceUnit, type, id, uriInfo.getRequestUri().toASCIIString() }); try { PersistenceContext context = getPersistenceContext(persistenceUnit, type, uriInfo.getBaseUri(), version, null); Map<String, String> discriminators = getMatrixParameters(uriInfo, persistenceUnit); Object entityId = IdHelper.buildId(context, type, id); context.delete(discriminators, type, entityId); return Response.ok().build(); } catch (Exception ex) { throw JPARSException.exceptionOccurred(ex); } }
private static Map<String, List<String>> getHeaders(HttpHeaders headers) { Map<String, List<String>> output = new HashMap<String, List<String>>(); if (headers != null) { for (String key : headers.getRequestHeaders().keySet()) { List<String> values = headers.getRequestHeaders().get(key); output.put(key, values); } } return output; }
public Variant selectVariant(List<Variant> variants) throws IllegalArgumentException { if (variants == null || variants.size() == 0) throw new IllegalArgumentException(MESSAGES.variantListMustNotBeZero()); ServerDrivenNegotiation negotiation = new ServerDrivenNegotiation(); MultivaluedMap<String, String> requestHeaders = headers.getRequestHeaders(); negotiation.setAcceptHeaders(requestHeaders.get(ACCEPT)); negotiation.setAcceptCharsetHeaders(requestHeaders.get(ACCEPT_CHARSET)); negotiation.setAcceptEncodingHeaders(requestHeaders.get(ACCEPT_ENCODING)); negotiation.setAcceptLanguageHeaders(requestHeaders.get(ACCEPT_LANGUAGE)); varyHeader = ResponseBuilderImpl.createVaryHeader(variants); response.getOutputHeaders().add(VARY, varyHeader); return negotiation.getBestMatch(variants); }