當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。