/** * Returns the index value for the given header field in the static table. * Returns -1 if the header field is not in the static table. */ static int getIndex(byte[] name, byte[] value) { int index = getIndex(name); if (index == -1) { return -1; } // Note this assumes all entries for a given header field are sequential. while (index <= length) { HeaderField entry = getEntry(index); if (!HpackUtil.equals(name, entry.name)) { break; } if (HpackUtil.equals(value, entry.value)) { return index; } index++; } return -1; }
private static Map<String, Integer> createMap() { int length = STATIC_TABLE.size(); HashMap<String, Integer> ret = new HashMap<String, Integer>(length); // Iterate through the static table in reverse order to // save the smallest index for a given name in the map. for (int index = length; index > 0; index--) { HeaderField entry = getEntry(index); String name = new String(entry.name, 0, entry.name.length, ISO_8859_1); ret.put(name, index); } return ret; }
private int getNameIndex(byte[] name) { int index = StaticTable.getIndex(name); if (index == -1) { index = getIndex(name); if (index >= 0) { index += StaticTable.length; } } return index; }
private static Map<String, Integer> createMap() { int length = STATIC_TABLE.size(); HashMap<String, Integer> ret = new HashMap<String, Integer>(length); // Iterate through the static table in reverse order to // save the smallest index for a given name in the map. for (int index = length; index > 0; index--) { HeaderField entry = getEntry(index); String name = new String(entry.name, 0, entry.name.length, ISO_8859_1); ret.put(name, index); } return ret; }
private int getNameIndex(byte[] name) { int index = StaticTable.getIndex(name); if (index == -1) { index = getIndex(name); if (index >= 0) { index += StaticTable.length; } } return index; }
/** * Returns the index value for the given header field in the static table. * Returns -1 if the header field is not in the static table. */ static int getIndex(byte[] name, byte[] value) { int index = getIndex(name); if (index == -1) { return -1; } // Note this assumes all entries for a given header field are sequential. while (index <= length) { HeaderField entry = getEntry(index); if (!HpackUtil.equals(name, entry.name)) { break; } if (HpackUtil.equals(value, entry.value)) { return index; } index++; } return -1; }
private void readName(int index) throws IOException { if (index <= StaticTable.length) { HeaderField headerField = StaticTable.getEntry(index); name = headerField.name; } else if (index - StaticTable.length <= dynamicTable.length()) { HeaderField headerField = dynamicTable.getEntry(index - StaticTable.length); name = headerField.name; } else { throw ILLEGAL_INDEX_VALUE; } }
private void readName(int index) throws IOException { if (index <= StaticTable.length) { HeaderField headerField = StaticTable.getEntry(index); name = headerField.name; } else if (index - StaticTable.length <= dynamicTable.length()) { HeaderField headerField = dynamicTable.getEntry(index - StaticTable.length); name = headerField.name; } else { throw ILLEGAL_INDEX_VALUE; } }
private void indexHeader(int index, HeaderListener headerListener) throws IOException { if (index <= StaticTable.length) { HeaderField headerField = StaticTable.getEntry(index); addHeader(headerListener, headerField.name, headerField.value, false); } else if (index - StaticTable.length <= dynamicTable.length()) { HeaderField headerField = dynamicTable.getEntry(index - StaticTable.length); addHeader(headerListener, headerField.name, headerField.value, false); } else { throw ILLEGAL_INDEX_VALUE; } }
private void indexHeader(int index, HeaderListener headerListener) throws IOException { if (index <= StaticTable.length) { HeaderField headerField = StaticTable.getEntry(index); addHeader(headerListener, headerField.name, headerField.value, false); } else if (index - StaticTable.length <= dynamicTable.length()) { HeaderField headerField = dynamicTable.getEntry(index - StaticTable.length); addHeader(headerListener, headerField.name, headerField.value, false); } else { throw ILLEGAL_INDEX_VALUE; } }