package org.java_websocket.handshake;

import java.util.Collections;
import java.util.Iterator;
import java.util.TreeMap;

/**
 * 
 * @author wurunzhou
 *
 */
public class HandshakedataImpl1 implements HandshakeBuilder {
	
	// 
	private byte[] content;
	// ͷ
	private TreeMap<String,String> map;

	public HandshakedataImpl1() {
		map = new TreeMap<String,String>( String.CASE_INSENSITIVE_ORDER );
	}

	/*public HandshakedataImpl1( Handshakedata h ) {
		httpstatusmessage = h.getHttpStatusMessage();
		resourcedescriptor = h.getResourceDescriptor();
		content = h.getContent();
		map = new LinkedHashMap<String,String>();
		Iterator<String> it = h.iterateHttpFields();
		while ( it.hasNext() ) {
			String key = (String) it.next();
			map.put( key, h.getFieldValue( key ) );
		}
	}*/

	@Override
	public Iterator<String> iterateHttpFields() {
		return Collections.unmodifiableSet( map.keySet() ).iterator();// Safety first
	}

	@Override
	public String getFieldValue( String name ) {
		String s = map.get( name );
		if ( s == null ) {
			return "";
		}
		return s;
	}

	@Override
	public byte[] getContent() {
		return content;
	}

	@Override
	public void setContent( byte[] content ) {
		this.content = content;
	}

	@Override
	public void put( String name, String value ) {
		map.put( name, value );
	}

	@Override
	public boolean hasFieldValue( String name ) {
		return map.containsKey( name );
	}
}

@@ -233,16 +233,23 @@
 %0A%09%0D%0A%09// 
+%E6%88%96%E8%AE%B8%E6%98%AF%E5%BF%83%E8%B7%B3%E5%86%85%E5%AE%B9
 %0D%0A%09priva
@@ -276,9 +276,11 @@
 %09// 
-%CD%B7
+%E5%BF%83%E8%B7%B3%E5%A4%B4
 %0D%0A%09p

修改转换UTF-8编码之后乱码