httpwarning.java

来自「很棒的web服务器源代码」· Java 代码 · 共 181 行

JAVA
181
字号
// HttpWarning.java// $Id: HttpWarning.java,v 1.10 1998/08/13 16:28:38 bmahe Exp $// (c) COPYRIGHT MIT and INRIA, 1996.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.www.http;public class HttpWarning extends BasicValue {    /**     * Warning status - Response is stale.     */    public static final int STALE                    = 110;    /**     * Warning status - Revalidation failed.     */    public static final int REVALIDATION_FAILED      = 111;    /**     * Warning status - Disconnected opertaion.     */    public static final int DISCONNECTED_OPERATION   = 112;    /**     * Warning status - Heuristic expiration.     */    public static final int HEURISTIC_EXPIRATION     = 113;    /**     * Warning status - Miscellaneous warning     */    public static final int MISCELLANEOUS            = 199;    /**     * Warning status - Transformation applied.     */    public static final int TRANSFORMATION_APPLIED   = 214;    /**     * Warning status - Miscellaneous warning     */    public static final int PERSISTENT_MISCELLANEOUS = 199;    protected HttpWarningList list = null;    protected int    status = -1;    protected String agent  = null;    protected String text   = null;    /**     * parse.     * @exception HttpParserException if parsing failed.     */    protected void parse()	throws HttpParserException    {	ParseState ps = new ParseState(roff, rlen);	ParseState it = new ParseState();	// Get the status code:	if ( HttpParser.nextItem(raw, ps) < 0 )	    error("Invalid warning, no status code.");	it.ioff   = ps.start;	it.bufend = ps.end;	this.status = HttpParser.parseInt(raw, it);	// Get the agent emiting the warning	ps.prepare();	if ( HttpParser.nextItem(raw, ps) < 0 )	    error("Invalid warning, no agent field.");	this.agent = new String(raw, 0, ps.start, ps.end-ps.start);	// Get the quoted message	ps.prepare();	if ( HttpParser.nextItem(raw, ps) < 0 )	    error("Invalid warning, no text message.");	it.ioff   = ps.start;	it.bufend = ps.end;	HttpParser.unquote(raw, it);	this.text = new String(raw, 0, it.start, it.end-it.start);    }    protected void updateByteValue() {	HttpBuffer buf = new HttpBuffer() ;	buf.appendInt(status);	buf.append(' ');	buf.append(agent);	buf.append(' ');	buf.appendQuoted(text);	raw  = buf.getByteCopy();	roff = 0;	rlen = raw.length;    }    protected void invalidateByteValue() {	super.invalidateByteValue();	if ( list != null )	    list.invalidateByteValue();    }    public Object getValue() {	validate();	return this;    }    /**     * Get this warning status code.     * @return An integer giving the warning status code.     */    public int getStatus() {	validate();	return status;    }    /**     * Set this warning status code.     * @param status The status code for this warning.     */    public void setStatus(int status) {	if ( this.status != status )	    invalidateByteValue();	this.status = status;    }    /**     * Get this warning agent.     * @return A String encoding the agent that generated the warning.     */    public String getAgent() {	validate();	return agent;    }    /**     * Set the agent that is generating the warning.     * @param agent The String describing the agent emitting the warning.     */    public void setAgent(String agent) {	if ((agent != null) && ! agent.equals(this.agent) )	    invalidateByteValue();	this.agent = agent;    }    /**     * Get the warning text message.     * @return A String encoding the text message.     */    public String getText() {	validate();	return text;    }    /**     * Set the text warning message.     * @param text The new text of the warning message.     */    public void setText(String text) {	if ((text != null) && ! text.equals(this.text) )	    invalidateByteValue();	this.text = text;    }    HttpWarning(HttpWarningList list, byte raw[], int roff, int rlen) {	this.list = list;	this.raw  = raw;	this.roff = roff;	this.rlen = rlen;	this.isValid = false;    }    HttpWarning(boolean isValid, int status, String agent, String text) {	this.isValid = isValid;	setStatus(status);	setAgent(agent);	setText(text);    }    public HttpWarning() {	this.isValid = false;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?