當前位置: 首頁>>代碼示例>>Java>>正文


Java HttpURLConnection.HTTP_PRECON_FAILED屬性代碼示例

本文整理匯總了Java中java.net.HttpURLConnection.HTTP_PRECON_FAILED屬性的典型用法代碼示例。如果您正苦於以下問題:Java HttpURLConnection.HTTP_PRECON_FAILED屬性的具體用法?Java HttpURLConnection.HTTP_PRECON_FAILED怎麽用?Java HttpURLConnection.HTTP_PRECON_FAILED使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在java.net.HttpURLConnection的用法示例。


在下文中一共展示了HttpURLConnection.HTTP_PRECON_FAILED屬性的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: inspect

public void inspect() throws IOException {
    final BlockInfo blockInfo = info.getBlock(blockIndex);
    boolean isServerCancelled = false;
    ResumeFailedCause resumeFailedCause = null;

    final int code = connected.getResponseCode();
    final String etag = info.getEtag();
    final String newEtag = connected.getResponseHeaderField("Etag");

    do {
        if (code == HttpURLConnection.HTTP_PRECON_FAILED) {
            resumeFailedCause = RESPONSE_PRECONDITION_FAILED;
            break;
        }

        if (!Util.isEmpty(etag) && !Util.isEmpty(newEtag) && !newEtag.equals(etag)) {
            // etag changed.
            // also etag changed is relate to HTTP_PRECON_FAILED
            resumeFailedCause = RESPONSE_ETAG_CHANGED;
            break;
        }

        if (code == HttpURLConnection.HTTP_CREATED && blockInfo.getCurrentOffset() != 0) {
            // The request has been fulfilled and has resulted in one or more new resources
            // being created.
            // mark this case is precondition failed for
            // 1. checkout whether accept partial
            // 2. 201 means new resources so range must be from beginning otherwise it can't
            // match local range.
            resumeFailedCause = RESPONSE_CREATED_RANGE_NOT_FROM_0;
            break;
        }

        if (code == HttpURLConnection.HTTP_RESET && blockInfo.getCurrentOffset() != 0) {
            resumeFailedCause = RESPONSE_RESET_RANGE_NOT_FROM_0;
            break;
        }

        if (code != HttpURLConnection.HTTP_PARTIAL && code != HttpURLConnection.HTTP_OK) {
            isServerCancelled = true;
            break;
        }

        if (code == HttpURLConnection.HTTP_OK && blockInfo.getCurrentOffset() != 0) {
            isServerCancelled = true;
            break;
        }
    } while (false);

    if (resumeFailedCause != null) {
        // resume failed, relaunch from beginning.
        throw new ResumeFailedException(resumeFailedCause);
    }

    if (isServerCancelled) {
        // server cancelled, end task.
        throw new ServerCancelledException(code, blockInfo.getCurrentOffset());
    }
}
 
開發者ID:lingochamp,項目名稱:okdownload,代碼行數:59,代碼來源:DownloadStrategy.java

示例2: webhook

/**
 * Webhook for Github issue_comment event.
 * @param issueComment Event Json payload.
 * @see <a href="https://developer.github.com/v3/activity/events/types">
 *     Webhook Events Payloads
 * </a>
 * @return Http response.
 */
@POST
@Path("/github/issuecomment")
@Consumes(MediaType.APPLICATION_JSON)
public Response webhook(final JsonObject issueComment) {
    final int status;
    final String event = this.request.getHeader("X-Github-Event");
    String userAgent = this.request.getHeader("User-Agent");
    if(userAgent == null) {
        userAgent = "";
    }
    if(userAgent.startsWith("GitHub-Hookshot/")) {
        if("ping".equalsIgnoreCase(event)) {
            status = HttpURLConnection.HTTP_OK;
        } else {
            if ("issue_comment".equalsIgnoreCase(event)) {
                final boolean startedHandling = this.handleNotifications(
                    new WebhookNotifications(issueComment)
                );
                if(startedHandling) {
                    status = HttpURLConnection.HTTP_OK;
                } else {
                    status = HttpURLConnection.HTTP_INTERNAL_ERROR;
                }

            } else {
                status = HttpURLConnection.HTTP_PRECON_FAILED;
            }
        }
    } else {
        status = HttpURLConnection.HTTP_PRECON_FAILED;
    }
    return Response.status(status).build();
}
 
開發者ID:amihaiemil,項目名稱:comdor,代碼行數:41,代碼來源:ChatResource.java

示例3: ResourcePreconditionException

/**
 * Constructor.
 *
 * @param message Exception message
 * @param cause reason for this exception
 */
public ResourcePreconditionException(final String message, final Throwable cause) {
    super(HttpURLConnection.HTTP_PRECON_FAILED, message, cause);
}
 
開發者ID:JonkiPro,項目名稱:REST-Web-Services,代碼行數:9,代碼來源:ResourcePreconditionException.java


注:本文中的java.net.HttpURLConnection.HTTP_PRECON_FAILED屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。