当前位置: 首页>>代码示例>>Java>>正文


Java HttpHeaders.IF_NONE_MATCH属性代码示例

本文整理汇总了Java中javax.ws.rs.core.HttpHeaders.IF_NONE_MATCH属性的典型用法代码示例。如果您正苦于以下问题:Java HttpHeaders.IF_NONE_MATCH属性的具体用法?Java HttpHeaders.IF_NONE_MATCH怎么用?Java HttpHeaders.IF_NONE_MATCH使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在javax.ws.rs.core.HttpHeaders的用法示例。


在下文中一共展示了HttpHeaders.IF_NONE_MATCH属性的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: get

/**
 * process GET Method and retrieve the file content.
 * @param ifNoneMatch If-None-Match Header
 * @return JAX-RS response object
 */
@GET
public Response get(
        @HeaderParam(HttpHeaders.IF_NONE_MATCH) final String ifNoneMatch
        ) {
    // Check exist
    checkFileExists();
    // Access Control
    davRsCmp.getParent().checkAccessContext(davRsCmp.getAccessContext(), CellPrivilege.ROOT);
    ResponseBuilder rb = davRsCmp.get(ifNoneMatch, null);
    return rb.build();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:16,代码来源:CellSnapshotDavFileResource.java

示例2: getLogFile

/**
 * イベントログファイルを取得する.
 * @param ifNoneMatch If-None-Matchヘッダ
 * @param logCollection Collection名
 * @param fileName fileName
 * @return JAXRS Response
 */
@Path("{logCollection}/{filename}")
@GET
public final Response getLogFile(@HeaderParam(HttpHeaders.IF_NONE_MATCH) final String ifNoneMatch,
        @PathParam("logCollection") final String logCollection,
        @PathParam("filename") final String fileName) {

    // アクセス制御
    this.davRsCmp.checkAccessContext(this.davRsCmp.getAccessContext(), CellPrivilege.LOG_READ);

    // イベントログのCollection名のチェック
    if (!isValidLogCollection(logCollection)) {
        throw PersoniumCoreException.Dav.RESOURCE_NOT_FOUND.params(logCollection);
    }

    // ファイル名がdefault.log以外の場合は404を返却
    if (!isValidLogFile(logCollection, fileName)) {
        throw PersoniumCoreException.Dav.RESOURCE_NOT_FOUND.params(fileName);
    }

    String cellId = davRsCmp.getCell().getId();
    String owner = davRsCmp.getCell().getOwner();

    // ログファイルのパスを取得
    StringBuilder logFileName = EventUtils.getEventLogDir(cellId, owner);
    logFileName.append(logCollection);
    logFileName.append(File.separator);
    logFileName.append(fileName);
    return getLog(logCollection, logFileName.toString());
}
 
开发者ID:personium,项目名称:personium-core,代码行数:36,代码来源:LogResource.java

示例3: get

/**
 * process GET Method and retrieve the file content.
 * @param ifNoneMatch If-None-Match Header
 * @param rangeHeaderField Range header
 * @return JAX-RS response object
 */
@GET
public Response get(
        @HeaderParam(HttpHeaders.IF_NONE_MATCH) final String ifNoneMatch,
        @HeaderParam("Range") final String rangeHeaderField
        ) {

    // Access Control
    this.davRsCmp.checkAccessContext(this.davRsCmp.getAccessContext(), BoxPrivilege.READ);

    ResponseBuilder rb = this.davRsCmp.get(ifNoneMatch, rangeHeaderField);
    return rb.build();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:18,代码来源:DavFileResource.java

示例4: get

/**
 * GETメソッドの処理.
 * @param uriInfo UriInfo
 * @param accept Accept ヘッダ
 * @param ifNoneMatch If-None-Match ヘッダ
 * @param format $format パラメタ
 * @param expand $expand パラメタ
 * @param select $select パラメタ
 * @return JAX-RSResponse
 */
@GET
public Response get(
        @Context final UriInfo uriInfo,
        @HeaderParam(HttpHeaders.ACCEPT) String accept,
        @HeaderParam(HttpHeaders.IF_NONE_MATCH) String ifNoneMatch,
        @QueryParam("$format") String format,
        @QueryParam("$expand") String expand,
        @QueryParam("$select") String select) {
    // アクセス制御
    this.odataResource.checkAccessContext(this.accessContext,
            this.odataResource.getNecessaryReadPrivilege(getEntitySetName()));

    UriInfo resUriInfo = PersoniumCoreUtils.createUriInfo(uriInfo, 1);

    // $formatとAcceptヘッダの値から出力形式を決定
    MediaType contentType = decideOutputFormat(accept, format);
    String outputFormat = FORMAT_JSON;
    if (MediaType.APPLICATION_ATOM_XML_TYPE.equals(contentType)) {
        outputFormat = FORMAT_ATOM;
    }

    // Entityの取得をProducerに依頼
    EntityResponse entityResp = getEntity(expand, select, resUriInfo);
    String respStr = renderEntityResponse(resUriInfo, entityResp, outputFormat, null);

    // 制御コードのエスケープ処理
    respStr = escapeResponsebody(respStr);

    ResponseBuilder rb = Response.ok().type(contentType);
    rb.header(ODataConstants.Headers.DATA_SERVICE_VERSION, ODataVersion.V2.asString);
    // ETagを正式実装するときに、返却する必要がある
    OEntity entity = entityResp.getEntity();
    String etag = null;
    // 基本的にこのIF文に入る。
    if (entity instanceof OEntityWrapper) {
        OEntityWrapper oew = (OEntityWrapper) entity;

        // エンティティごとのアクセス可否判断
        this.odataResource.checkAccessContextPerEntity(this.accessContext, oew);

        etag = oew.getEtag();
        // 基本的にこのIF文に入る。
        if (etag != null) {
            // If-None-Matchヘッダの指定があるとき
            if (ifNoneMatch != null && ifNoneMatch.equals(ODataResource.renderEtagHeader(etag))) {
                return Response.notModified().build();
            }
            // ETagヘッダの付与
            rb.header(HttpHeaders.ETAG, ODataResource.renderEtagHeader(etag));
        }
    }
    return rb.entity(respStr).build();
}
 
开发者ID:personium,项目名称:personium-core,代码行数:63,代码来源:ODataEntityResource.java


注:本文中的javax.ws.rs.core.HttpHeaders.IF_NONE_MATCH属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。