javax.ws.rs.core.Response.ResponseBuilder#cacheControl()源码实例Demo

下面列出了javax.ws.rs.core.Response.ResponseBuilder#cacheControl() 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Processor   文件: ResourceBase.java
/**
 * Creates response builder from response dataset.
 * Adds matched sitemap class as affordance metadata in <pre>Link</pre> header.
 * 
 * @param dataset response RDF dataset
 * @return response builder
 */
@Override
public ResponseBuilder getResponseBuilder(Dataset dataset)
{
    ResponseBuilder rb = super.getResponseBuilder(dataset);
    
    rb.cacheControl(getCacheControl());

    rb.header("Link", new Link(URI.create(getTemplateCall().getTemplate().getURI()), LDT.template.getURI(), null));
    rb.header("Link", new Link(URI.create(getApplication().getOntology().getURI()), LDT.ontology.getURI(), null));
    rb.header("Link", new Link(getUriInfo().getBaseUri(), LDT.base.getURI(), null));
    
    Reasoner reasoner = getTemplateCall().getTemplate().getOntModel().getSpecification().getReasoner();
    if (reasoner instanceof GenericRuleReasoner)
    {
        GenericRuleReasoner grr = (GenericRuleReasoner)reasoner;
        rb.header("Rules", RulePrinter.print(grr.getRules())); // grr.getRules().toString() - prevented by JENA-1030 bug
    }
    
    return rb;
}
 
源代码2 项目: Processor   文件: ResourceBase.java
/**
 * Creates response builder from response model.
 * Adds matched sitemap class as affordance metadata in <pre>Link</pre> header.
 * 
 * @param model response RDF model
 * @return response builder
 */
@Override
public ResponseBuilder getResponseBuilder(Model model)
{
    ResponseBuilder rb = super.getResponseBuilder(model);
    
    rb.cacheControl(getCacheControl());

    rb.header("Link", new Link(URI.create(getTemplateCall().getTemplate().getURI()), LDT.template.getURI(), null));
    rb.header("Link", new Link(URI.create(getApplication().getOntology().getURI()), LDT.ontology.getURI(), null));
    rb.header("Link", new Link(getUriInfo().getBaseUri(), LDT.base.getURI(), null));
    
    Reasoner reasoner = getTemplateCall().getTemplate().getOntModel().getSpecification().getReasoner();
    if (reasoner instanceof GenericRuleReasoner)
    {
        GenericRuleReasoner grr = (GenericRuleReasoner)reasoner;
        rb.header("Rules", RulePrinter.print(grr.getRules())); // grr.getRules().toString() - prevented by JENA-1030 bug
    }
    
    return rb;
}
 
源代码3 项目: hbase   文件: SchemaResource.java
@GET
@Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF,
  MIMETYPE_PROTOBUF_IETF})
public Response get(final @Context UriInfo uriInfo) {
  if (LOG.isTraceEnabled()) {
    LOG.trace("GET " + uriInfo.getAbsolutePath());
  }
  servlet.getMetrics().incrementRequests(1);
  try {
    ResponseBuilder response =
      Response.ok(new TableSchemaModel(getTableSchema()));
    response.cacheControl(cacheControl);
    servlet.getMetrics().incrementSucessfulGetRequests(1);
    return response.build();
  } catch (Exception e) {
    servlet.getMetrics().incrementFailedGetRequests(1);
    return processException(e);
  }
}
 
源代码4 项目: hbase   文件: RootResource.java
@GET
@Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF,
  MIMETYPE_PROTOBUF_IETF})
public Response get(final @Context UriInfo uriInfo) {
  if (LOG.isTraceEnabled()) {
    LOG.trace("GET " + uriInfo.getAbsolutePath());
  }
  servlet.getMetrics().incrementRequests(1);
  try {
    ResponseBuilder response = Response.ok(getTableList());
    response.cacheControl(cacheControl);
    servlet.getMetrics().incrementSucessfulGetRequests(1);
    return response.build();
  } catch (Exception e) {
    servlet.getMetrics().incrementFailedGetRequests(1);
    return processException(e);
  }
}
 
源代码5 项目: hbase   文件: StorageClusterVersionResource.java
@GET
@Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON})
public Response get(final @Context UriInfo uriInfo) {
  if (LOG.isTraceEnabled()) {
    LOG.trace("GET " + uriInfo.getAbsolutePath());
  }
  servlet.getMetrics().incrementRequests(1);
  try {
    StorageClusterVersionModel model = new StorageClusterVersionModel();
    model.setVersion(
      servlet.getAdmin().getClusterMetrics(EnumSet.of(Option.HBASE_VERSION))
          .getHBaseVersion());
    ResponseBuilder response = Response.ok(model);
    response.cacheControl(cacheControl);
    servlet.getMetrics().incrementSucessfulGetRequests(1);
    return response.build();
  } catch (IOException e) {
    servlet.getMetrics().incrementFailedGetRequests(1);
    return Response.status(Response.Status.SERVICE_UNAVAILABLE)
      .type(MIMETYPE_TEXT).entity("Unavailable" + CRLF)
      .build();
  }
}
 
源代码6 项目: hbase   文件: ExistsResource.java
@GET
@Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF,
  MIMETYPE_PROTOBUF_IETF, MIMETYPE_BINARY})
public Response get(final @Context UriInfo uriInfo) {
  try {
    if (!tableResource.exists()) {
      return Response.status(Response.Status.NOT_FOUND)
        .type(MIMETYPE_TEXT).entity("Not found" + CRLF)
        .build();
    }
  } catch (IOException e) {
    return Response.status(Response.Status.SERVICE_UNAVAILABLE)
      .type(MIMETYPE_TEXT).entity("Unavailable" + CRLF)
      .build();
  }
  ResponseBuilder response = Response.ok();
  response.cacheControl(cacheControl);
  return response.build();
}
 
源代码7 项目: org.openntf.domino   文件: SearchResource.java
private ResponseBuilder getBuilder(final String jsonEntity, final Date lastMod, final boolean includeEtag, final Request request) {
	String etagSource = DominoUtils.md5(jsonEntity);
	EntityTag etag = new EntityTag(etagSource);
	ResponseBuilder berg = null;
	if (request != null) {
		berg = request.evaluatePreconditions(etag);
	}
	if (berg == null) {
		berg = Response.ok();
		if (includeEtag) {
			berg.tag(etag);
		}
		berg.type(MediaType.APPLICATION_JSON_TYPE);
		berg.entity(jsonEntity);
		berg.lastModified(lastMod);
		CacheControl cc = new CacheControl();
		cc.setMustRevalidate(true);
		cc.setPrivate(true);
		cc.setMaxAge(86400);
		cc.setNoTransform(true);
		berg.cacheControl(cc);
	}
	return berg;
}
 
源代码8 项目: org.openntf.domino   文件: TermsResource.java
private ResponseBuilder getBuilder(final String jsonEntity, final Date lastMod, final boolean includeEtag, final Request request) {
	String etagSource = DominoUtils.md5(jsonEntity);
	EntityTag etag = new EntityTag(etagSource);
	ResponseBuilder berg = null;
	if (request != null) {
		berg = request.evaluatePreconditions(etag);
	}
	if (berg == null) {
		berg = Response.ok();
		if (includeEtag) {
			berg.tag(etag);
		}
		berg.type(MediaType.APPLICATION_JSON_TYPE);
		berg.entity(jsonEntity);
		berg.lastModified(lastMod);
		CacheControl cc = new CacheControl();
		cc.setMustRevalidate(true);
		cc.setPrivate(true);
		cc.setMaxAge(86400);
		cc.setNoTransform(true);
		berg.cacheControl(cc);
	}
	return berg;
}
 
源代码9 项目: org.openntf.domino   文件: FramedResource.java
private ResponseBuilder getBuilder(final String jsonEntity, final Date lastMod, final boolean includeEtag, final Request request) {
	String etagSource = DominoUtils.md5(jsonEntity);
	EntityTag etag = new EntityTag(etagSource);
	ResponseBuilder berg = null;
	if (request != null) {
		berg = request.evaluatePreconditions(etag);
	}
	if (berg == null) {
		// System.out.println("TEMP DEBUG creating a new builder");
		berg = Response.ok();
		if (includeEtag) {
			berg.tag(etag);
		}
		berg.type(MediaType.APPLICATION_JSON_TYPE);
		berg.entity(jsonEntity);
		berg.lastModified(lastMod);
		CacheControl cc = new CacheControl();
		cc.setMustRevalidate(true);
		cc.setPrivate(true);
		cc.setMaxAge(86400);
		cc.setNoTransform(true);
		berg.cacheControl(cc);
	}
	return berg;
}
 
源代码10 项目: localization_nifi   文件: RuleResource.java
private ResponseBuilder noCache(ResponseBuilder response) {
    CacheControl cacheControl = new CacheControl();
    cacheControl.setPrivate(true);
    cacheControl.setNoCache(true);
    cacheControl.setNoStore(true);
    return response.cacheControl(cacheControl);
}
 
源代码11 项目: localization_nifi   文件: ApplicationResource.java
/**
 * Edit the response headers to indicating no caching.
 *
 * @param response response
 * @return builder
 */
protected ResponseBuilder noCache(final ResponseBuilder response) {
    final CacheControl cacheControl = new CacheControl();
    cacheControl.setPrivate(true);
    cacheControl.setNoCache(true);
    cacheControl.setNoStore(true);
    return response.cacheControl(cacheControl);
}
 
源代码12 项目: hbase   文件: VersionResource.java
/**
 * Build a response for a version request.
 * @param context servlet context
 * @param uriInfo (JAX-RS context variable) request URL
 * @return a response for a version request
 */
@GET
@Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF,
  MIMETYPE_PROTOBUF_IETF})
public Response get(final @Context ServletContext context,
    final @Context UriInfo uriInfo) {
  if (LOG.isTraceEnabled()) {
    LOG.trace("GET " + uriInfo.getAbsolutePath());
  }
  servlet.getMetrics().incrementRequests(1);
  ResponseBuilder response = Response.ok(new VersionModel(context));
  response.cacheControl(cacheControl);
  servlet.getMetrics().incrementSucessfulGetRequests(1);
  return response.build();
}
 
源代码13 项目: hbase   文件: ScannerInstanceResource.java
@GET
@Produces(MIMETYPE_BINARY)
public Response getBinary(final @Context UriInfo uriInfo) {
  if (LOG.isTraceEnabled()) {
    LOG.trace("GET " + uriInfo.getAbsolutePath() + " as " +
      MIMETYPE_BINARY);
  }
  servlet.getMetrics().incrementRequests(1);
  try {
    Cell value = generator.next();
    if (value == null) {
      if (LOG.isTraceEnabled()) {
        LOG.trace("generator exhausted");
      }
      return Response.noContent().build();
    }
    ResponseBuilder response = Response.ok(CellUtil.cloneValue(value));
    response.cacheControl(cacheControl);
    response.header("X-Row", Bytes.toString(Base64.getEncoder().encode(
        CellUtil.cloneRow(value))));
    response.header("X-Column", Bytes.toString(Base64.getEncoder().encode(
        CellUtil.makeColumn(CellUtil.cloneFamily(value), CellUtil.cloneQualifier(value)))));
    response.header("X-Timestamp", value.getTimestamp());
    servlet.getMetrics().incrementSucessfulGetRequests(1);
    return response.build();
  } catch (IllegalStateException e) {
    if (ScannerResource.delete(id)) {
      servlet.getMetrics().incrementSucessfulDeleteRequests(1);
    } else {
      servlet.getMetrics().incrementFailedDeleteRequests(1);
    }
    servlet.getMetrics().incrementFailedGetRequests(1);
    return Response.status(Response.Status.GONE)
      .type(MIMETYPE_TEXT).entity("Gone" + CRLF)
      .build();
  }
}
 
源代码14 项目: oxAuth   文件: TokenRestWebServiceImpl.java
private Response response(ResponseBuilder builder, OAuth2AuditLog oAuth2AuditLog) {
    builder.cacheControl(ServerUtil.cacheControl(true, false));
    builder.header("Pragma", "no-cache");

    applicationAuditLogger.sendMessage(oAuth2AuditLog);

    return builder.build();
}
 
源代码15 项目: nifi   文件: RuleResource.java
private ResponseBuilder noCache(ResponseBuilder response) {
    CacheControl cacheControl = new CacheControl();
    cacheControl.setPrivate(true);
    cacheControl.setNoCache(true);
    cacheControl.setNoStore(true);
    return response.cacheControl(cacheControl);
}
 
源代码16 项目: nifi   文件: ApplicationResource.java
/**
 * Edit the response headers to indicating no caching.
 *
 * @param response response
 * @return builder
 */
protected ResponseBuilder noCache(final ResponseBuilder response) {
    final CacheControl cacheControl = new CacheControl();
    cacheControl.setPrivate(true);
    cacheControl.setNoCache(true);
    cacheControl.setNoStore(true);
    return response.cacheControl(cacheControl);
}
 
private ResponseBuilder getBuilder(final String jsonEntity, final Date lastMod, final boolean includeEtag, final Request request) {
	String etagSource = DominoUtils.md5(jsonEntity);
	EntityTag etag = new EntityTag(etagSource);
	ResponseBuilder berg = null;
	if (request != null) {
		berg = request.evaluatePreconditions(etag);
	}

	if (berg == null) {
		berg = Response.ok();
		if (includeEtag) {
			berg.tag(etag);
		}
		berg.type(MediaType.APPLICATION_JSON_TYPE).entity(jsonEntity);
		berg.lastModified(lastMod);
		CacheControl cc = new CacheControl();
		cc.setMustRevalidate(true);
		cc.setPrivate(true);
		cc.setMaxAge(86400);
		cc.setNoTransform(true);
		berg.cacheControl(cc);
	} else {
		// System.out.println("TEMP DEBUG got a hit for etag " +
		// etagSource);
	}
	return berg;
}
 
源代码18 项目: org.openntf.domino   文件: ReferenceResource.java
private ResponseBuilder getBuilder(String jsonEntity, Date lastMod, boolean includeEtag, Request request) {
	String etagSource = DominoUtils.md5(jsonEntity);
	EntityTag etag = new EntityTag(etagSource);
	ResponseBuilder berg = null;
	if (request != null) {
		berg = request.evaluatePreconditions(etag);
	}
	if (berg == null) {
		// System.out.println("TEMP DEBUG creating a new builder");
		berg = Response.ok();
		if (includeEtag) {
			berg.tag(etag);
		}
		berg.type(MediaType.APPLICATION_JSON_TYPE);
		berg.entity(jsonEntity);
		if (lastMod != null) {
			berg.lastModified(lastMod);
		}
		CacheControl cc = new CacheControl();
		cc.setMustRevalidate(true);
		cc.setPrivate(true);
		cc.setMaxAge(86400);
		cc.setNoTransform(true);
		berg.cacheControl(cc);
	}
	return berg;
}
 
源代码19 项目: commafeed   文件: FeedREST.java
@GET
@Path("/favicon/{id}")
@UnitOfWork
@ApiOperation(value = "Fetch a feed's icon", notes = "Fetch a feed's icon")
@Timed
public Response getFeedFavicon(@ApiParam(hidden = true) @SecurityCheck User user,
		@ApiParam(value = "subscription id", required = true) @PathParam("id") Long id) {

	Preconditions.checkNotNull(id);
	FeedSubscription subscription = feedSubscriptionDAO.findById(user, id);
	if (subscription == null) {
		return Response.status(Status.NOT_FOUND).build();
	}
	Feed feed = subscription.getFeed();
	Favicon icon = feedService.fetchFavicon(feed);

	ResponseBuilder builder = Response.ok(icon.getIcon(), Optional.ofNullable(icon.getMediaType()).orElse("image/x-icon"));

	CacheControl cacheControl = new CacheControl();
	cacheControl.setMaxAge(2592000);
	cacheControl.setPrivate(false);
	builder.cacheControl(cacheControl);

	Calendar calendar = Calendar.getInstance();
	calendar.add(Calendar.MONTH, 1);
	builder.expires(calendar.getTime());
	builder.lastModified(CommaFeedApplication.STARTUP_TIME);

	return builder.build();
}
 
源代码20 项目: hbase   文件: StorageClusterStatusResource.java
@GET
@Produces({MIMETYPE_TEXT, MIMETYPE_XML, MIMETYPE_JSON, MIMETYPE_PROTOBUF,
  MIMETYPE_PROTOBUF_IETF})
public Response get(final @Context UriInfo uriInfo) {
  if (LOG.isTraceEnabled()) {
    LOG.trace("GET " + uriInfo.getAbsolutePath());
  }
  servlet.getMetrics().incrementRequests(1);
  try {
    ClusterMetrics status = servlet.getAdmin().getClusterMetrics(
      EnumSet.of(Option.LIVE_SERVERS, Option.DEAD_SERVERS));
    StorageClusterStatusModel model = new StorageClusterStatusModel();
    model.setRegions(status.getRegionCount());
    model.setRequests(status.getRequestCount());
    model.setAverageLoad(status.getAverageLoad());
    for (Map.Entry<ServerName, ServerMetrics> entry: status.getLiveServerMetrics().entrySet()) {
      ServerName sn = entry.getKey();
      ServerMetrics load = entry.getValue();
      StorageClusterStatusModel.Node node =
        model.addLiveNode(
          sn.getHostname() + ":" +
          Integer.toString(sn.getPort()),
          sn.getStartcode(), (int) load.getUsedHeapSize().get(Size.Unit.MEGABYTE),
          (int) load.getMaxHeapSize().get(Size.Unit.MEGABYTE));
      node.setRequests(load.getRequestCount());
      for (RegionMetrics region: load.getRegionMetrics().values()) {
        node.addRegion(region.getRegionName(), region.getStoreCount(),
          region.getStoreFileCount(),
          (int) region.getStoreFileSize().get(Size.Unit.MEGABYTE),
          (int) region.getMemStoreSize().get(Size.Unit.MEGABYTE),
          (long) region.getStoreFileIndexSize().get(Size.Unit.KILOBYTE),
          region.getReadRequestCount(),
          region.getCpRequestCount(),
          region.getWriteRequestCount(),
          (int) region.getStoreFileRootLevelIndexSize().get(Size.Unit.KILOBYTE),
          (int) region.getStoreFileUncompressedDataIndexSize().get(Size.Unit.KILOBYTE),
          (int) region.getBloomFilterSize().get(Size.Unit.KILOBYTE),
          region.getCompactingCellCount(),
          region.getCompactedCellCount());
      }
    }
    for (ServerName name: status.getDeadServerNames()) {
      model.addDeadNode(name.toString());
    }
    ResponseBuilder response = Response.ok(model);
    response.cacheControl(cacheControl);
    servlet.getMetrics().incrementSucessfulGetRequests(1);
    return response.build();
  } catch (IOException e) {
    servlet.getMetrics().incrementFailedGetRequests(1);
    return Response.status(Response.Status.SERVICE_UNAVAILABLE)
      .type(MIMETYPE_TEXT).entity("Unavailable" + CRLF)
      .build();
  }
}