/* * @(#)HttpRetryException.java 1.1 04/04/20 * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package java.net; import java.io.IOException; /** * Thrown to indicate that a HTTP request needs to be retried * but cannot be retried automatically, due to streaming mode * being enabled. * * @author Michael McMahon * @version 1.1, 04/20/04 * @since 1.5 */ public class HttpRetryException extends IOException { private int responseCode; private String location; /** * Constructs a new HttpRetryException from the * specified response code and exception detail message * * @param detail the detail message. * @param code the HTTP response code from server. */ public HttpRetryException(String detail, int code) { super(detail); responseCode = code; } /** * Constructs a new HttpRetryException with detail message * responseCode and the contents of the Location response header field. * * @param detail the detail message. * @param code the HTTP response code from server. * @param location the URL to be redirected to */ public HttpRetryException(String detail, int code, String location) { super (detail); responseCode = code; this.location = location; } /** * Returns the http response code * * @return The http response code. */ public int responseCode() { return responseCode; } /** * Returns a string explaining why the http request could * not be retried. * * @return The reason string */ public String getReason() { return super.getMessage(); } /** * Returns the value of the Location header field if the * error resulted from redirection. * * @return The location string */ public String getLocation() { return location; } }