mirror of
https://github.com/jetty/jetty.project.git
synced 2025-02-25 08:58:30 +00:00
optimised HttpFields
This commit is contained in:
parent
6b3c8d06a9
commit
bec34b460f
@ -19,8 +19,10 @@
|
||||
package org.eclipse.jetty.http;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.ConcurrentModificationException;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
@ -34,7 +36,6 @@ import java.util.StringTokenizer;
|
||||
import org.eclipse.jetty.util.ArrayTernaryTrie;
|
||||
import org.eclipse.jetty.util.LazyList;
|
||||
import org.eclipse.jetty.util.QuotedStringTokenizer;
|
||||
import org.eclipse.jetty.util.StringUtil;
|
||||
import org.eclipse.jetty.util.Trie;
|
||||
import org.eclipse.jetty.util.log.Log;
|
||||
import org.eclipse.jetty.util.log.Logger;
|
||||
@ -55,11 +56,12 @@ public class HttpFields implements Iterable<HttpField>
|
||||
|
||||
private static final Logger LOG = Log.getLogger(HttpFields.class);
|
||||
|
||||
private final List<HttpField> _fields;
|
||||
private HttpField[] _fields;
|
||||
private int _size;
|
||||
|
||||
public HttpFields()
|
||||
{
|
||||
_fields=new ArrayList<>();
|
||||
_fields=new HttpField[20];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -67,18 +69,18 @@ public class HttpFields implements Iterable<HttpField>
|
||||
*/
|
||||
public HttpFields(int capacity)
|
||||
{
|
||||
_fields=new ArrayList<>(capacity);
|
||||
_fields=new HttpField[capacity];
|
||||
}
|
||||
|
||||
public int size()
|
||||
{
|
||||
return _fields.size();
|
||||
return _size;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Iterator<HttpField> iterator()
|
||||
{
|
||||
return _fields.iterator();
|
||||
return new Itr();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -86,7 +88,7 @@ public class HttpFields implements Iterable<HttpField>
|
||||
*/
|
||||
public Collection<String> getFieldNamesCollection()
|
||||
{
|
||||
final Set<String> list = new HashSet<>(_fields.size());
|
||||
final Set<String> list = new HashSet<>(_size);
|
||||
for (HttpField f : this)
|
||||
{
|
||||
if (f!=null)
|
||||
@ -111,14 +113,16 @@ public class HttpFields implements Iterable<HttpField>
|
||||
*/
|
||||
public HttpField getField(int i)
|
||||
{
|
||||
return _fields.get(i);
|
||||
if (i>=_size)
|
||||
throw new NoSuchElementException();
|
||||
return _fields[i];
|
||||
}
|
||||
|
||||
public HttpField getField(HttpHeader header)
|
||||
{
|
||||
for (int i=0;i<_fields.size();i++)
|
||||
for (int i=0;i<_size;i++)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.getHeader()==header)
|
||||
return f;
|
||||
}
|
||||
@ -127,9 +131,9 @@ public class HttpFields implements Iterable<HttpField>
|
||||
|
||||
public HttpField getField(String name)
|
||||
{
|
||||
for (int i=0;i<_fields.size();i++)
|
||||
for (int i=0;i<_size;i++)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.getName().equalsIgnoreCase(name))
|
||||
return f;
|
||||
}
|
||||
@ -138,9 +142,9 @@ public class HttpFields implements Iterable<HttpField>
|
||||
|
||||
public boolean contains(HttpField field)
|
||||
{
|
||||
for (int i=_fields.size();i-->0;)
|
||||
for (int i=_size;i-->0;)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.isSameName(field) && f.contains(field.getValue()))
|
||||
return true;
|
||||
}
|
||||
@ -149,9 +153,9 @@ public class HttpFields implements Iterable<HttpField>
|
||||
|
||||
public boolean contains(HttpHeader header, String value)
|
||||
{
|
||||
for (int i=_fields.size();i-->0;)
|
||||
for (int i=_size;i-->0;)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.getHeader()==header && f.contains(value))
|
||||
return true;
|
||||
}
|
||||
@ -160,9 +164,9 @@ public class HttpFields implements Iterable<HttpField>
|
||||
|
||||
public boolean contains(String name, String value)
|
||||
{
|
||||
for (int i=_fields.size();i-->0;)
|
||||
for (int i=_size;i-->0;)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.getName().equalsIgnoreCase(name) && f.contains(value))
|
||||
return true;
|
||||
}
|
||||
@ -172,39 +176,35 @@ public class HttpFields implements Iterable<HttpField>
|
||||
|
||||
public boolean containsKey(String name)
|
||||
{
|
||||
for (int i=_fields.size();i-->0;)
|
||||
for (int i=_size;i-->0;)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.getName().equalsIgnoreCase(name))
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public String getStringField(HttpHeader header)
|
||||
{
|
||||
return getStringField(header.asString());
|
||||
}
|
||||
|
||||
public String get(HttpHeader header)
|
||||
{
|
||||
return getStringField(header.asString());
|
||||
for (int i=0;i<_size;i++)
|
||||
{
|
||||
HttpField f=_fields[i];
|
||||
if (f.getHeader()==header)
|
||||
return f.getValue();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public String get(String header)
|
||||
{
|
||||
return getStringField(header);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the value of a field, or null if not found. For multiple fields of the same name,
|
||||
* only the first is returned.
|
||||
* @param name the case-insensitive field name
|
||||
*/
|
||||
public String getStringField(String name)
|
||||
{
|
||||
HttpField field = getField(name);
|
||||
return field==null?null:field.getValue();
|
||||
for (int i=0;i<_size;i++)
|
||||
{
|
||||
HttpField f=_fields[i];
|
||||
if (f.getName().equalsIgnoreCase(header))
|
||||
return f.getValue();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -230,9 +230,9 @@ public class HttpFields implements Iterable<HttpField>
|
||||
*/
|
||||
public Enumeration<String> getValues(final String name)
|
||||
{
|
||||
for (int i=0;i<_fields.size();i++)
|
||||
for (int i=0;i<_size;i++)
|
||||
{
|
||||
final HttpField f = _fields.get(i);
|
||||
final HttpField f = _fields[i];
|
||||
|
||||
if (f.getName().equalsIgnoreCase(name) && f.getValue()!=null)
|
||||
{
|
||||
@ -247,9 +247,9 @@ public class HttpFields implements Iterable<HttpField>
|
||||
{
|
||||
if (field==null)
|
||||
{
|
||||
while (i<_fields.size())
|
||||
while (i<_size)
|
||||
{
|
||||
field=_fields.get(i++);
|
||||
field=_fields[i++];
|
||||
if (field.getName().equalsIgnoreCase(name) && field.getValue()!=null)
|
||||
return true;
|
||||
}
|
||||
@ -270,7 +270,6 @@ public class HttpFields implements Iterable<HttpField>
|
||||
}
|
||||
throw new NoSuchElementException();
|
||||
}
|
||||
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -328,22 +327,24 @@ public class HttpFields implements Iterable<HttpField>
|
||||
public void put(HttpField field)
|
||||
{
|
||||
boolean put=false;
|
||||
for (int i=_fields.size();i-->0;)
|
||||
for (int i=_size;i-->0;)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.isSameName(field))
|
||||
{
|
||||
if (put)
|
||||
_fields.remove(i);
|
||||
{
|
||||
System.arraycopy(_fields,i+1,_fields,i,--_size-i);
|
||||
}
|
||||
else
|
||||
{
|
||||
_fields.set(i,field);
|
||||
_fields[i]=field;
|
||||
put=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!put)
|
||||
_fields.add(field);
|
||||
add(field);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -408,7 +409,7 @@ public class HttpFields implements Iterable<HttpField>
|
||||
return;
|
||||
|
||||
HttpField field = new HttpField(name, value);
|
||||
_fields.add(field);
|
||||
add(field);
|
||||
}
|
||||
|
||||
public void add(HttpHeader header, HttpHeaderValue value) throws IllegalArgumentException
|
||||
@ -429,7 +430,7 @@ public class HttpFields implements Iterable<HttpField>
|
||||
if (value == null) throw new IllegalArgumentException("null value");
|
||||
|
||||
HttpField field = new HttpField(header, value);
|
||||
_fields.add(field);
|
||||
add(field);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -439,13 +440,17 @@ public class HttpFields implements Iterable<HttpField>
|
||||
*/
|
||||
public HttpField remove(HttpHeader name)
|
||||
{
|
||||
for (int i=_fields.size();i-->0;)
|
||||
HttpField removed=null;
|
||||
for (int i=_size;i-->0;)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.getHeader()==name)
|
||||
return _fields.remove(i);
|
||||
{
|
||||
removed=f;
|
||||
System.arraycopy(_fields,i+1,_fields,i,--_size-i);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return removed;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -455,13 +460,17 @@ public class HttpFields implements Iterable<HttpField>
|
||||
*/
|
||||
public HttpField remove(String name)
|
||||
{
|
||||
for (int i=_fields.size();i-->0;)
|
||||
HttpField removed=null;
|
||||
for (int i=_size;i-->0;)
|
||||
{
|
||||
HttpField f=_fields.get(i);
|
||||
HttpField f=_fields[i];
|
||||
if (f.getName().equalsIgnoreCase(name))
|
||||
return _fields.remove(i);
|
||||
{
|
||||
removed=f;
|
||||
System.arraycopy(_fields,i+1,_fields,i,--_size-i);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
return removed;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -622,17 +631,20 @@ public class HttpFields implements Iterable<HttpField>
|
||||
|
||||
public void clear()
|
||||
{
|
||||
_fields.clear();
|
||||
_size=0;
|
||||
}
|
||||
|
||||
public void add(HttpField field)
|
||||
{
|
||||
_fields.add(field);
|
||||
if (_size==_fields.length)
|
||||
_fields=Arrays.copyOf(_fields,_size*2);
|
||||
_fields[_size++]=field;
|
||||
}
|
||||
|
||||
public void addAll(HttpFields fields)
|
||||
{
|
||||
_fields.addAll(fields._fields);
|
||||
for (int i=0;i<fields._size;i++)
|
||||
add(fields._fields[i]);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -808,5 +820,29 @@ public class HttpFields implements Iterable<HttpField>
|
||||
}
|
||||
|
||||
|
||||
private class Itr implements Iterator<HttpField>
|
||||
{
|
||||
int _cursor; // index of next element to return
|
||||
|
||||
public boolean hasNext()
|
||||
{
|
||||
return _cursor != _size;
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public HttpField next()
|
||||
{
|
||||
int i = _cursor;
|
||||
if (i >= _size)
|
||||
throw new NoSuchElementException();
|
||||
_cursor = i + 1;
|
||||
return _fields[i];
|
||||
}
|
||||
|
||||
public void remove()
|
||||
{
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -26,10 +26,13 @@ import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Collections;
|
||||
import java.util.Enumeration;
|
||||
import java.util.HashSet;
|
||||
import java.util.Locale;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Set;
|
||||
|
||||
import org.eclipse.jetty.util.BufferUtil;
|
||||
import org.hamcrest.Matchers;
|
||||
import org.junit.Assert;
|
||||
@ -48,9 +51,10 @@ public class HttpFieldsTest
|
||||
header.put("name0", "value:0");
|
||||
header.put("name1", "value1");
|
||||
|
||||
assertEquals("value:0",header.getStringField("name0"));
|
||||
assertEquals("value1",header.getStringField("name1"));
|
||||
assertNull(header.getStringField("name2"));
|
||||
assertEquals(2,header.size());
|
||||
assertEquals("value:0",header.get("name0"));
|
||||
assertEquals("value1",header.get("name1"));
|
||||
assertNull(header.get("name2"));
|
||||
|
||||
int matches=0;
|
||||
Enumeration<String> e = header.getFieldNames();
|
||||
@ -68,6 +72,7 @@ public class HttpFieldsTest
|
||||
assertEquals(true, e.hasMoreElements());
|
||||
assertEquals(e.nextElement(), "value:0");
|
||||
assertEquals(false, e.hasMoreElements());
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -99,10 +104,45 @@ public class HttpFieldsTest
|
||||
header.put("name0", "value0");
|
||||
header.put("name1", "value1");
|
||||
|
||||
assertEquals("value0",header.getStringField("name0"));
|
||||
assertEquals("value0",header.getStringField("Name0"));
|
||||
assertEquals("value1",header.getStringField("name1"));
|
||||
assertEquals("value1",header.getStringField("Name1"));
|
||||
assertEquals("value0",header.get("name0"));
|
||||
assertEquals("value0",header.get("Name0"));
|
||||
assertEquals("value1",header.get("name1"));
|
||||
assertEquals("value1",header.get("Name1"));
|
||||
assertEquals(null,header.get("Name2"));
|
||||
|
||||
assertEquals("value0",header.getField("name0").getValue());
|
||||
assertEquals("value0",header.getField("Name0").getValue());
|
||||
assertEquals("value1",header.getField("name1").getValue());
|
||||
assertEquals("value1",header.getField("Name1").getValue());
|
||||
assertEquals(null,header.getField("Name2"));
|
||||
|
||||
assertEquals("value0",header.getField(0).getValue());
|
||||
assertEquals("value1",header.getField(1).getValue());
|
||||
try
|
||||
{
|
||||
header.getField(2);
|
||||
Assert.fail();
|
||||
}
|
||||
catch(NoSuchElementException e)
|
||||
{}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetKnown() throws Exception
|
||||
{
|
||||
HttpFields header = new HttpFields();
|
||||
|
||||
header.put("Connection", "value0");
|
||||
header.put(HttpHeader.ACCEPT, "value1");
|
||||
|
||||
assertEquals("value0",header.get(HttpHeader.CONNECTION));
|
||||
assertEquals("value1",header.get(HttpHeader.ACCEPT));
|
||||
|
||||
assertEquals("value0",header.getField(HttpHeader.CONNECTION).getValue());
|
||||
assertEquals("value1",header.getField(HttpHeader.ACCEPT).getValue());
|
||||
|
||||
assertEquals(null,header.getField(HttpHeader.AGE));
|
||||
assertEquals(null,header.get(HttpHeader.AGE));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -153,16 +193,16 @@ public class HttpFieldsTest
|
||||
header.put("name1", "xxxxxx");
|
||||
header.put("name2", "value2");
|
||||
|
||||
assertEquals("value0",header.getStringField("name0"));
|
||||
assertEquals("xxxxxx",header.getStringField("name1"));
|
||||
assertEquals("value2",header.getStringField("name2"));
|
||||
assertEquals("value0",header.get("name0"));
|
||||
assertEquals("xxxxxx",header.get("name1"));
|
||||
assertEquals("value2",header.get("name2"));
|
||||
|
||||
header.put("name1", "value1");
|
||||
|
||||
assertEquals("value0",header.getStringField("name0"));
|
||||
assertEquals("value1",header.getStringField("name1"));
|
||||
assertEquals("value2",header.getStringField("name2"));
|
||||
assertNull(header.getStringField("name3"));
|
||||
assertEquals("value0",header.get("name0"));
|
||||
assertEquals("value1",header.get("name1"));
|
||||
assertEquals("value2",header.get("name2"));
|
||||
assertNull(header.get("name3"));
|
||||
|
||||
int matches=0;
|
||||
Enumeration<String> e = header.getFieldNames();
|
||||
@ -188,22 +228,22 @@ public class HttpFieldsTest
|
||||
@Test
|
||||
public void testRemovePut() throws Exception
|
||||
{
|
||||
HttpFields header = new HttpFields();
|
||||
HttpFields header = new HttpFields(1);
|
||||
|
||||
header.put("name0", "value0");
|
||||
header.put("name1", "value1");
|
||||
header.put("name2", "value2");
|
||||
|
||||
assertEquals("value0",header.getStringField("name0"));
|
||||
assertEquals("value1",header.getStringField("name1"));
|
||||
assertEquals("value2",header.getStringField("name2"));
|
||||
assertEquals("value0",header.get("name0"));
|
||||
assertEquals("value1",header.get("name1"));
|
||||
assertEquals("value2",header.get("name2"));
|
||||
|
||||
header.remove("name1");
|
||||
|
||||
assertEquals("value0",header.getStringField("name0"));
|
||||
assertNull(header.getStringField("name1"));
|
||||
assertEquals("value2",header.getStringField("name2"));
|
||||
assertNull(header.getStringField("name3"));
|
||||
assertEquals("value0",header.get("name0"));
|
||||
assertNull(header.get("name1"));
|
||||
assertEquals("value2",header.get("name2"));
|
||||
assertNull(header.get("name3"));
|
||||
|
||||
int matches=0;
|
||||
Enumeration<String> e = header.getFieldNames();
|
||||
@ -232,16 +272,16 @@ public class HttpFieldsTest
|
||||
fields.add("name1", "valueA");
|
||||
fields.add("name2", "value2");
|
||||
|
||||
assertEquals("value0",fields.getStringField("name0"));
|
||||
assertEquals("valueA",fields.getStringField("name1"));
|
||||
assertEquals("value2",fields.getStringField("name2"));
|
||||
assertEquals("value0",fields.get("name0"));
|
||||
assertEquals("valueA",fields.get("name1"));
|
||||
assertEquals("value2",fields.get("name2"));
|
||||
|
||||
fields.add("name1", "valueB");
|
||||
|
||||
assertEquals("value0",fields.getStringField("name0"));
|
||||
assertEquals("valueA",fields.getStringField("name1"));
|
||||
assertEquals("value2",fields.getStringField("name2"));
|
||||
assertNull(fields.getStringField("name3"));
|
||||
assertEquals("value0",fields.get("name0"));
|
||||
assertEquals("valueA",fields.get("name1"));
|
||||
assertEquals("value2",fields.get("name2"));
|
||||
assertNull(fields.get("name3"));
|
||||
|
||||
int matches=0;
|
||||
Enumeration<String> e = fields.getFieldNames();
|
||||
@ -346,7 +386,7 @@ public class HttpFieldsTest
|
||||
assertEquals(951825600000L,d5);
|
||||
|
||||
fields.putDateField("D2",d1);
|
||||
assertEquals("Fri, 31 Dec 1999 23:59:59 GMT",fields.getStringField("D2"));
|
||||
assertEquals("Fri, 31 Dec 1999 23:59:59 GMT",fields.get("D2"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -355,16 +395,16 @@ public class HttpFieldsTest
|
||||
HttpFields fields = new HttpFields();
|
||||
|
||||
fields.putDateField("Dzero",0);
|
||||
assertEquals("Thu, 01 Jan 1970 00:00:00 GMT",fields.getStringField("Dzero"));
|
||||
assertEquals("Thu, 01 Jan 1970 00:00:00 GMT",fields.get("Dzero"));
|
||||
|
||||
fields.putDateField("Dminus",-1);
|
||||
assertEquals("Wed, 31 Dec 1969 23:59:59 GMT",fields.getStringField("Dminus"));
|
||||
assertEquals("Wed, 31 Dec 1969 23:59:59 GMT",fields.get("Dminus"));
|
||||
|
||||
fields.putDateField("Dminus",-1000);
|
||||
assertEquals("Wed, 31 Dec 1969 23:59:59 GMT",fields.getStringField("Dminus"));
|
||||
assertEquals("Wed, 31 Dec 1969 23:59:59 GMT",fields.get("Dminus"));
|
||||
|
||||
fields.putDateField("Dancient",Long.MIN_VALUE);
|
||||
assertEquals("Sun, 02 Dec 55 16:47:04 GMT",fields.getStringField("Dancient"));
|
||||
assertEquals("Sun, 02 Dec 55 16:47:04 GMT",fields.get("Dancient"));
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -374,15 +414,33 @@ public class HttpFieldsTest
|
||||
|
||||
header.put("I1", "42");
|
||||
header.put("I2", " 43 99");
|
||||
header.put("I3", "-44;");
|
||||
header.put("I3", "-44");
|
||||
header.put("I4", " - 45abc");
|
||||
header.put("N1", " - ");
|
||||
header.put("N2", "xx");
|
||||
|
||||
long i1=header.getLongField("I1");
|
||||
long i2=header.getLongField("I2");
|
||||
try
|
||||
{
|
||||
header.getLongField("I2");
|
||||
assertTrue(false);
|
||||
}
|
||||
catch(NumberFormatException e)
|
||||
{
|
||||
assertTrue(true);
|
||||
}
|
||||
|
||||
long i3=header.getLongField("I3");
|
||||
long i4=header.getLongField("I4");
|
||||
|
||||
try
|
||||
{
|
||||
header.getLongField("I4");
|
||||
assertTrue(false);
|
||||
}
|
||||
catch(NumberFormatException e)
|
||||
{
|
||||
assertTrue(true);
|
||||
}
|
||||
|
||||
try{
|
||||
header.getLongField("N1");
|
||||
@ -403,14 +461,12 @@ public class HttpFieldsTest
|
||||
}
|
||||
|
||||
assertEquals(42,i1);
|
||||
assertEquals(43,i2);
|
||||
assertEquals(-44,i3);
|
||||
assertEquals(-45,i4);
|
||||
|
||||
header.putLongField("I5", 46);
|
||||
header.putLongField("I6",-47);
|
||||
assertEquals("46",header.getStringField("I5"));
|
||||
assertEquals("-47",header.getStringField("I6"));
|
||||
assertEquals("46",header.get("I5"));
|
||||
assertEquals("-47",header.get("I6"));
|
||||
|
||||
}
|
||||
|
||||
@ -429,12 +485,28 @@ public class HttpFieldsTest
|
||||
header.add("n6", "def");
|
||||
header.add("N6", "hig");
|
||||
header.add("n7", "abc , def;q=0.9 , hig");
|
||||
header.add("n8", "abc , def;q=0 , hig");
|
||||
header.add(HttpHeader.ACCEPT, "abc , def;q=0 , hig");
|
||||
|
||||
for (int i=0;i<8;i++)
|
||||
{
|
||||
assertTrue(header.containsKey("n"+i));
|
||||
assertTrue(header.containsKey("N"+i));
|
||||
assertFalse(""+i,header.contains("n"+i,"xyz"));
|
||||
assertEquals(""+i,i>=4,header.contains("n"+i,"def"));
|
||||
}
|
||||
|
||||
|
||||
assertTrue(header.contains(new HttpField("N5","def")));
|
||||
assertTrue(header.contains(new HttpField("accept","abc")));
|
||||
assertTrue(header.contains(HttpHeader.ACCEPT,"abc"));
|
||||
assertFalse(header.contains(new HttpField("N5","xyz")));
|
||||
assertFalse(header.contains(new HttpField("N8","def")));
|
||||
assertFalse(header.contains(HttpHeader.ACCEPT,"def"));
|
||||
assertFalse(header.contains(HttpHeader.AGE,"abc"));
|
||||
|
||||
assertFalse(header.containsKey("n11"));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -202,13 +202,13 @@ public class ForwardedRequestCustomizer implements Customizer
|
||||
// Do SSL first
|
||||
if (getForwardedCipherSuiteHeader()!=null)
|
||||
{
|
||||
String cipher_suite=httpFields.getStringField(getForwardedCipherSuiteHeader());
|
||||
String cipher_suite=httpFields.get(getForwardedCipherSuiteHeader());
|
||||
if (cipher_suite!=null)
|
||||
request.setAttribute("javax.servlet.request.cipher_suite",cipher_suite);
|
||||
}
|
||||
if (getForwardedSslSessionIdHeader()!=null)
|
||||
{
|
||||
String ssl_session_id=httpFields.getStringField(getForwardedSslSessionIdHeader());
|
||||
String ssl_session_id=httpFields.get(getForwardedSslSessionIdHeader());
|
||||
if(ssl_session_id!=null)
|
||||
{
|
||||
request.setAttribute("javax.servlet.request.ssl_session_id", ssl_session_id);
|
||||
@ -260,7 +260,7 @@ public class ForwardedRequestCustomizer implements Customizer
|
||||
if (header == null)
|
||||
return null;
|
||||
|
||||
String headerValue = fields.getStringField(header);
|
||||
String headerValue = fields.get(header);
|
||||
|
||||
if (headerValue == null)
|
||||
return null;
|
||||
|
@ -510,7 +510,7 @@ public class Request implements HttpServletRequest
|
||||
@Override
|
||||
public String getContentType()
|
||||
{
|
||||
String content_type = _metadata.getFields().getStringField(HttpHeader.CONTENT_TYPE);
|
||||
String content_type = _metadata.getFields().get(HttpHeader.CONTENT_TYPE);
|
||||
if (_characterEncoding==null && content_type!=null)
|
||||
{
|
||||
MimeTypes.Type mime = MimeTypes.CACHE.get(content_type);
|
||||
@ -603,7 +603,7 @@ public class Request implements HttpServletRequest
|
||||
@Override
|
||||
public String getHeader(String name)
|
||||
{
|
||||
return _metadata==null?null:_metadata.getFields().getStringField(name);
|
||||
return _metadata==null?null:_metadata.getFields().get(name);
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
|
@ -830,7 +830,7 @@ public class Response implements HttpServletResponse
|
||||
@Override
|
||||
public String getHeader(String name)
|
||||
{
|
||||
return _fields.getStringField(name);
|
||||
return _fields.get(name);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -102,7 +102,7 @@ public class PartialRFC2616Test
|
||||
assertEquals("3.3.1 RFC 850 ANSI C",d3,d2);
|
||||
|
||||
fields.putDateField("Date",d1.getTime());
|
||||
assertEquals("3.3.1 RFC 822 preferred","Sun, 06 Nov 1994 08:49:37 GMT",fields.getStringField("Date"));
|
||||
assertEquals("3.3.1 RFC 822 preferred","Sun, 06 Nov 1994 08:49:37 GMT",fields.get("Date"));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
@ -607,7 +607,7 @@ public class ResponseTest
|
||||
|
||||
response.addCookie(cookie);
|
||||
|
||||
String set = response.getHttpFields().getStringField("Set-Cookie");
|
||||
String set = response.getHttpFields().get("Set-Cookie");
|
||||
|
||||
assertEquals("name=value;Version=1;Path=/path;Domain=domain;Secure;HttpOnly;Comment=comment", set);
|
||||
}
|
||||
@ -669,23 +669,23 @@ public class ResponseTest
|
||||
HttpFields fields = response.getHttpFields();
|
||||
|
||||
response.addSetCookie("null",null,null,null,-1,null,false,false,-1);
|
||||
assertEquals("null=",fields.getStringField("Set-Cookie"));
|
||||
assertEquals("null=",fields.get("Set-Cookie"));
|
||||
|
||||
fields.clear();
|
||||
|
||||
response.addSetCookie("minimal","value",null,null,-1,null,false,false,-1);
|
||||
assertEquals("minimal=value",fields.getStringField("Set-Cookie"));
|
||||
assertEquals("minimal=value",fields.get("Set-Cookie"));
|
||||
|
||||
fields.clear();
|
||||
//test cookies with same name, domain and path, only 1 allowed
|
||||
response.addSetCookie("everything","wrong","domain","path",0,"to be replaced",true,true,0);
|
||||
response.addSetCookie("everything","value","domain","path",0,"comment",true,true,0);
|
||||
assertEquals("everything=value;Version=1;Path=path;Domain=domain;Expires=Thu, 01-Jan-1970 00:00:00 GMT;Max-Age=0;Secure;HttpOnly;Comment=comment",fields.getStringField("Set-Cookie"));
|
||||
assertEquals("everything=value;Version=1;Path=path;Domain=domain;Expires=Thu, 01-Jan-1970 00:00:00 GMT;Max-Age=0;Secure;HttpOnly;Comment=comment",fields.get("Set-Cookie"));
|
||||
Enumeration<String> e =fields.getValues("Set-Cookie");
|
||||
assertTrue(e.hasMoreElements());
|
||||
assertEquals("everything=value;Version=1;Path=path;Domain=domain;Expires=Thu, 01-Jan-1970 00:00:00 GMT;Max-Age=0;Secure;HttpOnly;Comment=comment",e.nextElement());
|
||||
assertFalse(e.hasMoreElements());
|
||||
assertEquals("Thu, 01 Jan 1970 00:00:00 GMT",fields.getStringField("Expires"));
|
||||
assertEquals("Thu, 01 Jan 1970 00:00:00 GMT",fields.get("Expires"));
|
||||
assertFalse(e.hasMoreElements());
|
||||
|
||||
//test cookies with same name, different domain
|
||||
@ -744,31 +744,31 @@ public class ResponseTest
|
||||
|
||||
fields.clear();
|
||||
response.addSetCookie("ev erything","va lue","do main","pa th",1,"co mment",true,true,1);
|
||||
String setCookie=fields.getStringField("Set-Cookie");
|
||||
String setCookie=fields.get("Set-Cookie");
|
||||
assertThat(setCookie,Matchers.startsWith("\"ev erything\"=\"va lue\";Version=1;Path=\"pa th\";Domain=\"do main\";Expires="));
|
||||
assertThat(setCookie,Matchers.endsWith(" GMT;Max-Age=1;Secure;HttpOnly;Comment=\"co mment\""));
|
||||
|
||||
fields.clear();
|
||||
response.addSetCookie("name","value",null,null,-1,null,false,false,0);
|
||||
setCookie=fields.getStringField("Set-Cookie");
|
||||
setCookie=fields.get("Set-Cookie");
|
||||
assertEquals(-1,setCookie.indexOf("Version="));
|
||||
fields.clear();
|
||||
response.addSetCookie("name","v a l u e",null,null,-1,null,false,false,0);
|
||||
setCookie=fields.getStringField("Set-Cookie");
|
||||
setCookie=fields.get("Set-Cookie");
|
||||
|
||||
fields.clear();
|
||||
response.addSetCookie("json","{\"services\":[\"cwa\", \"aa\"]}",null,null,-1,null,false,false,-1);
|
||||
assertEquals("json=\"{\\\"services\\\":[\\\"cwa\\\", \\\"aa\\\"]}\"",fields.getStringField("Set-Cookie"));
|
||||
assertEquals("json=\"{\\\"services\\\":[\\\"cwa\\\", \\\"aa\\\"]}\"",fields.get("Set-Cookie"));
|
||||
|
||||
fields.clear();
|
||||
response.addSetCookie("name","value","domain",null,-1,null,false,false,-1);
|
||||
response.addSetCookie("name","other","domain",null,-1,null,false,false,-1);
|
||||
assertEquals("name=other;Domain=domain",fields.getStringField("Set-Cookie"));
|
||||
assertEquals("name=other;Domain=domain",fields.get("Set-Cookie"));
|
||||
response.addSetCookie("name","more","domain",null,-1,null,false,false,-1);
|
||||
assertEquals("name=more;Domain=domain",fields.getStringField("Set-Cookie"));
|
||||
assertEquals("name=more;Domain=domain",fields.get("Set-Cookie"));
|
||||
response.addSetCookie("foo","bar","domain",null,-1,null,false,false,-1);
|
||||
response.addSetCookie("foo","bob","domain",null,-1,null,false,false,-1);
|
||||
assertEquals("name=more;Domain=domain",fields.getStringField("Set-Cookie"));
|
||||
assertEquals("name=more;Domain=domain",fields.get("Set-Cookie"));
|
||||
|
||||
e=fields.getValues("Set-Cookie");
|
||||
assertEquals("name=more;Domain=domain",e.nextElement());
|
||||
@ -776,7 +776,7 @@ public class ResponseTest
|
||||
|
||||
fields.clear();
|
||||
response.addSetCookie("name","value%=",null,null,-1,null,false,false,0);
|
||||
setCookie=fields.getStringField("Set-Cookie");
|
||||
setCookie=fields.get("Set-Cookie");
|
||||
assertEquals("name=value%=",setCookie);
|
||||
|
||||
}
|
||||
|
@ -146,7 +146,7 @@ public abstract class RFC2616BaseTest
|
||||
|
||||
// Test formatting
|
||||
fields.putDateField("Date",expected.getTime().getTime());
|
||||
Assert.assertEquals("3.3.1 RFC 822 preferred","Sun, 06 Nov 1994 08:49:37 GMT",fields.getStringField("Date"));
|
||||
Assert.assertEquals("3.3.1 RFC 822 preferred","Sun, 06 Nov 1994 08:49:37 GMT",fields.get("Date"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -133,7 +133,7 @@ public class IdleSessionTest
|
||||
//make a request to set up a session on the server
|
||||
ContentResponse response = client.GET(url + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -77,7 +77,7 @@ public class DirtyAttributeTest
|
||||
ContentResponse response = client.GET("http://localhost:" + port + "/mod/test?action=create");
|
||||
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -103,7 +103,7 @@ public class MaxInactiveMigrationTest
|
||||
ContentResponse response = request.send();
|
||||
assertEquals(HttpServletResponse.SC_OK, response.getStatus());
|
||||
|
||||
sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue( sessionCookie != null );
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -70,7 +70,7 @@ public class ModifyMaxInactiveIntervalTest
|
||||
ContentResponse response = client.GET("http://localhost:" + port + "/mod/test?action=create");
|
||||
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -104,7 +104,7 @@ public class ReloadedSessionMissingClassTest
|
||||
ContentResponse response = client.GET("http://localhost:" + port1 + contextPath +"/bar?action=set");
|
||||
|
||||
assertEquals( HttpServletResponse.SC_OK, response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
String sessionId = (String)webApp.getServletContext().getAttribute("foo");
|
||||
assertNotNull(sessionId);
|
||||
|
@ -77,7 +77,7 @@ public class SaveIntervalTest
|
||||
// Perform a request to create a session
|
||||
ContentResponse response = client.GET("http://localhost:" + port + "/mod/test?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -102,7 +102,7 @@ public class SessionExpiryTest extends AbstractSessionExpiryTest
|
||||
//make a request to set up a session on the server
|
||||
ContentResponse response1 = client.GET(url + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK,response1.getStatus());
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -94,7 +94,7 @@ public class PurgeInvalidSessionTest
|
||||
//Create a session
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -97,7 +97,7 @@ public class PurgeValidSessionTest
|
||||
//Create a session
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -117,7 +117,7 @@ public class SessionSavingValueTest extends AbstractSessionValueSavingTest
|
||||
|
||||
sessionTestValue = sessionTestResponse;
|
||||
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=","$1\\$Path=");
|
||||
@ -144,7 +144,7 @@ public class SessionSavingValueTest extends AbstractSessionValueSavingTest
|
||||
|
||||
sessionTestValue = sessionTestResponse;
|
||||
|
||||
String setCookie = response2.getHeaders().getStringField("Set-Cookie");
|
||||
String setCookie = response2.getHeaders().get("Set-Cookie");
|
||||
if (setCookie != null)
|
||||
sessionCookie = setCookie.replaceFirst("(\\W)(P|p)ath=","$1\\$Path=");
|
||||
|
||||
|
@ -86,7 +86,7 @@ public class StopSessionManagerDeleteSessionTest
|
||||
//Create a session
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -74,7 +74,7 @@ public abstract class AbstractClientCrossContextSessionTest
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextA + servletMapping);
|
||||
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -64,7 +64,7 @@ public abstract class AbstractImmortalSessionTest
|
||||
int value = 42;
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=set&value=" + value);
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -79,7 +79,7 @@ public abstract class AbstractInvalidationSessionTest
|
||||
ContentResponse response1 = client.GET(urls[0] + "?action=init");
|
||||
|
||||
assertEquals(HttpServletResponse.SC_OK,response1.getStatus());
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -87,7 +87,7 @@ public abstract class AbstractLastAccessTimeTest
|
||||
ContentResponse response1 = client.GET("http://localhost:" + port1 + contextPath + servletMapping + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK, response1.getStatus());
|
||||
assertEquals("test", response1.getContentAsString());
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue( sessionCookie != null );
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
@ -106,7 +106,7 @@ public abstract class AbstractLastAccessTimeTest
|
||||
assertEquals(HttpServletResponse.SC_OK , response2.getStatus());
|
||||
assertEquals("test", response2.getContentAsString());
|
||||
|
||||
String setCookie = response2.getHeaders().getStringField("Set-Cookie");
|
||||
String setCookie = response2.getHeaders().get("Set-Cookie");
|
||||
if (setCookie!=null)
|
||||
sessionCookie = setCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
||||
|
@ -82,7 +82,7 @@ public abstract class AbstractLightLoadTest
|
||||
|
||||
ContentResponse response1 = client.GET(urls[0] + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK,response1.getStatus());
|
||||
String sessionCookie = response1.getHeaders().getStringField( "Set-Cookie" );
|
||||
String sessionCookie = response1.getHeaders().get( "Set-Cookie" );
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -86,7 +86,7 @@ public abstract class AbstractLocalSessionScavengingTest
|
||||
// Create the session on node1
|
||||
ContentResponse response1 = client.GET(urls[0] + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK,response1.getStatus());
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -74,7 +74,7 @@ public abstract class AbstractNewSessionTest
|
||||
{
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -74,7 +74,7 @@ public abstract class AbstractOrphanedSessionTest
|
||||
// Connect to server1 to create a session and get its session cookie
|
||||
ContentResponse response1 = client.GET("http://localhost:" + port1 + contextPath + servletMapping + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK,response1.getStatus());
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -101,7 +101,7 @@ public abstract class AbstractProxySerializationTest
|
||||
{
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -66,7 +66,7 @@ public abstract class AbstractRemoveSessionTest
|
||||
{
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -81,7 +81,7 @@ public abstract class AbstractSessionCookieTest
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
//sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -75,7 +75,7 @@ public abstract class AbstractSessionExpiryTest
|
||||
//make a request to set up a session on the server
|
||||
ContentResponse response = client.GET(url + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
@ -125,7 +125,7 @@ public abstract class AbstractSessionExpiryTest
|
||||
//make a request to set up a session on the server
|
||||
ContentResponse response1 = client.GET(url + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK,response1.getStatus());
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -119,7 +119,7 @@ public abstract class AbstractSessionInvalidateAndCreateTest
|
||||
// Create the session
|
||||
ContentResponse response1 = client.GET(url + "?action=init");
|
||||
assertEquals(HttpServletResponse.SC_OK,response1.getStatus());
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -72,7 +72,7 @@ public abstract class AbstractSessionMigrationTest
|
||||
Request request1 = client.POST("http://localhost:" + port1 + contextPath + servletMapping + "?action=set&value=" + value);
|
||||
ContentResponse response1 = request1.send();
|
||||
assertEquals(HttpServletResponse.SC_OK,response1.getStatus());
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -70,7 +70,7 @@ public abstract class AbstractSessionRenewTest
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
assertFalse(testListener.isCalled());
|
||||
|
||||
@ -79,7 +79,7 @@ public abstract class AbstractSessionRenewTest
|
||||
request.header("Cookie", sessionCookie);
|
||||
ContentResponse renewResponse = request.send();
|
||||
assertEquals(HttpServletResponse.SC_OK,renewResponse.getStatus());
|
||||
String renewSessionCookie = renewResponse.getHeaders().getStringField("Set-Cookie");
|
||||
String renewSessionCookie = renewResponse.getHeaders().get("Set-Cookie");
|
||||
assertNotNull(renewSessionCookie);
|
||||
assertNotSame(sessionCookie, renewSessionCookie);
|
||||
assertTrue(testListener.isCalled());
|
||||
|
@ -72,7 +72,7 @@ public abstract class AbstractSessionValueSavingTest
|
||||
|
||||
sessionTestValue = Long.parseLong(response1.getContentAsString());
|
||||
|
||||
String sessionCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response1.getHeaders().get("Set-Cookie");
|
||||
assertTrue( sessionCookie != null );
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
@ -95,7 +95,7 @@ public abstract class AbstractSessionValueSavingTest
|
||||
assertTrue(sessionTestValue < Long.parseLong(response2.getContentAsString()));
|
||||
sessionTestValue = Long.parseLong(response2.getContentAsString());
|
||||
|
||||
String setCookie = response1.getHeaders().getStringField("Set-Cookie");
|
||||
String setCookie = response1.getHeaders().get("Set-Cookie");
|
||||
if (setCookie!=null)
|
||||
sessionCookie = setCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
||||
|
@ -74,7 +74,7 @@ public abstract class AbstractStopSessionManagerPreserveSessionTest
|
||||
//Create a session
|
||||
ContentResponse response = client.GET("http://localhost:" + port + contextPath + servletMapping + "?action=create");
|
||||
assertEquals(HttpServletResponse.SC_OK,response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
@ -120,7 +120,7 @@ public abstract class AbstractWebAppObjectInSessionTest
|
||||
|
||||
ContentResponse response = request.send();
|
||||
assertEquals( HttpServletResponse.SC_OK, response.getStatus());
|
||||
String sessionCookie = response.getHeaders().getStringField("Set-Cookie");
|
||||
String sessionCookie = response.getHeaders().get("Set-Cookie");
|
||||
assertTrue(sessionCookie != null);
|
||||
// Mangle the cookie, replacing Path with $Path, etc.
|
||||
sessionCookie = sessionCookie.replaceFirst("(\\W)(P|p)ath=", "$1\\$Path=");
|
||||
|
Loading…
x
Reference in New Issue
Block a user