httpparamlist.java
来自「很棒的web服务器源代码」· Java 代码 · 共 107 行
JAVA
107 行
// HttpParamList.java// $Id: HttpParamList.java,v 1.3 2000/08/16 21:38:00 ylafon Exp $// (c) COPYRIGHT MIT, INRIA and Keio, 1999.// Please first read the full copyright statement in file COPYRIGHT.htmlpackage org.w3c.www.http;import org.w3c.util.ArrayDictionary;/** * This class parses name->value pairs, used in Authentication Info */public class HttpParamList extends BasicValue { ArrayDictionary params = null; /** * parse. * @exception HttpParserException if parsing failed. */ protected void parse() throws HttpParserException { ParseState ps = new ParseState(roff, rlen); this.params = new ArrayDictionary(4, 4); ps.prepare(); // Parameters parsing ParseState it = new ParseState(); it.separator = (byte) '='; ps.separator = (byte) ','; while (HttpParser.nextItem(raw, ps) >= 0 ) { // Get the param name: it.prepare(ps); if (HttpParser.nextItem(raw, it) < 0) error("Invalid param list: bad param name."); String key = it.toString(raw, true); // Get the param value: it.prepare(); if ( HttpParser.nextItem(raw, it) < 0) error("Invalid param list: no param value."); it.ioff = it.start; HttpParser.unquote(raw, it); params.put(key, it.toString(raw)); ps.prepare(); } } protected void updateByteValue() { HttpBuffer buf = new HttpBuffer(); int len = params.size(); for (int i = 0 ; len > 0 ; i++) { String key = (String) params.keyAt(i); if ( key == null ) continue; buf.appendQuoted(key, (byte)'=', (String)params.elementAt(i)); len--; if (len > 0) { buf.append((byte)','); } } raw = buf.getByteCopy(); roff = 0; rlen = raw.length; } public Object getValue() { validate(); return this; } /** * Get a parameter. * @param name The name of the parameter to fetch. * @return The String value, or <strong>null</strong> if undefined. */ public String getParameter(String name) { validate(); return (params == null) ? null : (String) params.get(name); } /** * Set an authentication parameter. * @param name The name of the authentication parameter. * @param value The value of the authentication parameter. */ public void setParameter(String name, String value) { validate(); if ( params == null ) params = new ArrayDictionary(4, 4); params.put(name, value); } public HttpParamList(boolean isValid) { this.isValid = isValid; } public HttpParamList() { this.isValid = false; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?