Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
df07f72
Revert "Add http request validators feature flag (#472)"
attilakreiner Sep 28, 2023
f3e2245
WIP
attilakreiner Sep 28, 2023
7691312
fix
attilakreiner Oct 10, 2023
1f811c4
WIP
attilakreiner Oct 11, 2023
502db7f
WIP integation tests
attilakreiner Oct 13, 2023
330119d
WIP integration tests
attilakreiner Oct 16, 2023
2963d52
WIP h2 tests
attilakreiner Oct 18, 2023
4d9a19b
WIP h2 tests - content
attilakreiner Oct 19, 2023
dce5c70
WIP http/1.1 ITs - content
attilakreiner Oct 20, 2023
5e11f6f
fix
attilakreiner Oct 20, 2023
16af5e3
fix
attilakreiner Oct 21, 2023
4452d5b
WIP
attilakreiner Oct 25, 2023
eb9842b
fix method names
attilakreiner Oct 26, 2023
09e3087
WIP fix
attilakreiner Oct 26, 2023
e6ea82c
cleanup
attilakreiner Oct 26, 2023
dfcc7fa
fix h2 invalid test so all requests use the same connection
attilakreiner Oct 26, 2023
9a7f3c3
fix review items 1
attilakreiner Oct 27, 2023
215e72c
fix review items 2
attilakreiner Oct 27, 2023
cb5ffd8
fix review items 3
attilakreiner Oct 27, 2023
e95c006
Add server side for the invalid test h2
attilakreiner Oct 27, 2023
1296060
Fix invalid content in http/1.1 validation
attilakreiner Nov 2, 2023
769643b
Fix duplicate response header issue
attilakreiner Nov 2, 2023
a86eef4
fix NPE
attilakreiner Nov 3, 2023
345ded8
Revert "Fix duplicate response header issue"
attilakreiner Nov 3, 2023
9ffb3b1
send reset frame
attilakreiner Nov 3, 2023
7ee5980
fix
attilakreiner Nov 3, 2023
f57273f
fix 1
attilakreiner Nov 6, 2023
ad0c98f
fix 2
attilakreiner Nov 6, 2023
b5eded0
fix 3
attilakreiner Nov 6, 2023
ba32eb1
fix
attilakreiner Nov 7, 2023
3b4af62
fix 1
attilakreiner Nov 8, 2023
f3f0ee2
fix 2
attilakreiner Nov 8, 2023
5f6f544
fix 3
attilakreiner Nov 8, 2023
60d2ed5
fix 4
attilakreiner Nov 8, 2023
1cb75af
fix 5
attilakreiner Nov 8, 2023
0b5b33e
fix 6
attilakreiner Nov 8, 2023
d0ce297
fix 7
attilakreiner Nov 8, 2023
69812f7
fix 8
attilakreiner Nov 8, 2023
187e877
fix 9
attilakreiner Nov 8, 2023
cccd57f
fix 10
attilakreiner Nov 8, 2023
1b5a811
refactor HttpRequestType
attilakreiner Nov 8, 2023
3a5c307
refactor HttpRequestType 2
attilakreiner Nov 8, 2023
d748cca
WIP TreeMap
attilakreiner Nov 8, 2023
fc290e7
Add unit tests for urlDecodedComparator
attilakreiner Nov 8, 2023
dce06c6
fix 1
attilakreiner Nov 9, 2023
662fd09
fix 2
attilakreiner Nov 9, 2023
decd91d
fix 3
attilakreiner Nov 9, 2023
d41768f
PercentEncodableStringComparator 1
attilakreiner Nov 9, 2023
99718e1
PercentEncodableStringComparator 2
attilakreiner Nov 9, 2023
115da84
fix 4
attilakreiner Nov 9, 2023
be01927
WIP fix bug
attilakreiner Nov 10, 2023
b553ebe
fix 1
attilakreiner Nov 10, 2023
5cc0499
fix 2
attilakreiner Nov 10, 2023
0acab22
fix 1
attilakreiner Nov 11, 2023
12728d4
fix 2
attilakreiner Nov 13, 2023
d5e567c
fix 3
attilakreiner Nov 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix 2
  • Loading branch information
attilakreiner committed Nov 13, 2023
commit 5cc0499aafa190c3424a42fe0d2929966543c02f
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public final class HttpBindingConfig
private static final String8FW HEADER_CONTENT_TYPE = new String8FW("content-type");
private static final String8FW HEADER_METHOD = new String8FW(":method");
private static final String8FW HEADER_PATH = new String8FW(":path");
private static final PercentEncodableStringComparator PERCENT_ENCODABLE = new PercentEncodableStringComparator();
private static final HttpQueryStringComparator QUERY_STRING_COMPARATOR = new HttpQueryStringComparator();

public final long id;
public final String name;
Expand Down Expand Up @@ -218,7 +218,7 @@ private List<HttpRequestType> createRequestTypes(
pathParams.put(pathParam.name, createValidator.apply(pathParam.validator, this.resolveId));
}
}
Map<String, Validator> queryParams = new TreeMap<>(PERCENT_ENCODABLE);
Map<String, Validator> queryParams = new TreeMap<>(QUERY_STRING_COMPARATOR);
if (request.queryParams != null)
{
for (HttpParamConfig queryParam : request.queryParams)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

import java.util.Comparator;

public class PercentEncodableStringComparator implements Comparator<String>
public class HttpQueryStringComparator implements Comparator<String>
{
@Override
public int compare(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@

import org.junit.Test;

public class PercentEncodableStringComparatorTest
public class HttpQueryStringComparatorTest
{
@Test
public void shouldEqualToZeroWhenComparesIdentical()
public void shouldCompareSameUnencodedEqualsToUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("hello", "hello");
Expand All @@ -38,10 +38,10 @@ public void shouldEqualToZeroWhenComparesIdentical()
}

@Test
public void shouldEqualToZeroWhenComparesIdenticalWhereSecondIsEncoded()
public void shouldCompareSameUnencodedEqualsToEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("hello", "%68%65%6C%6C%6F");
Expand All @@ -51,10 +51,10 @@ public void shouldEqualToZeroWhenComparesIdenticalWhereSecondIsEncoded()
}

@Test
public void shouldEqualToZeroWhenComparesIdenticalWhereFirstIsEncoded()
public void shouldCompareSameEncodedEqualsToUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%68%65%6C%6C%6F", "hello");
Expand All @@ -64,10 +64,10 @@ public void shouldEqualToZeroWhenComparesIdenticalWhereFirstIsEncoded()
}

@Test
public void shouldEqualToZeroWhenComparesIdenticalWhereBothAreEncoded()
public void shouldCompareSameEncodedEqualsToEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%68%65%6c%6c%6f", "%68%65%6C%6C%6F");
Expand All @@ -77,10 +77,10 @@ public void shouldEqualToZeroWhenComparesIdenticalWhereBothAreEncoded()
}

@Test
public void shouldBeLessThanZeroWhenComparesSmallerAndLarger()
public void shouldCompareSmallerUnencodedLessThanGreaterUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("ciao", "hello");
Expand All @@ -90,10 +90,10 @@ public void shouldBeLessThanZeroWhenComparesSmallerAndLarger()
}

@Test
public void shouldBeLessThanZeroWhenComparesSmallerAndLargerWhereSecondIsEncoded()
public void shouldCompareSmallerUnencodedLessThanGreaterEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("ciao", "%68%65%6C%6C%6F");
Expand All @@ -103,10 +103,10 @@ public void shouldBeLessThanZeroWhenComparesSmallerAndLargerWhereSecondIsEncoded
}

@Test
public void shouldBeLessThanZeroWhenComparesSmallerAndLargerWhereFirstIsEncoded()
public void shouldCompareSmallerEncodedLessThanGreaterUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%63%69%61%6F", "hello");
Expand All @@ -116,10 +116,10 @@ public void shouldBeLessThanZeroWhenComparesSmallerAndLargerWhereFirstIsEncoded(
}

@Test
public void shouldBeLessThanZeroWhenComparesSmallerAndLargerWhereBothAreEncoded()
public void shouldCompareSmallerEncodedLessThanGreaterEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%63%69%61%6f", "%68%65%6c%6c%6f");
Expand All @@ -129,10 +129,10 @@ public void shouldBeLessThanZeroWhenComparesSmallerAndLargerWhereBothAreEncoded(
}

@Test
public void shouldBeLessThanZeroWhenComparesShorterAndLonger()
public void shouldCompareShorterUnencodedLessThanLongerUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("hello", "hello1");
Expand All @@ -142,10 +142,10 @@ public void shouldBeLessThanZeroWhenComparesShorterAndLonger()
}

@Test
public void shouldBeLessThanZeroWhenComparesShorterAndLongerWhereSecondIsEncoded()
public void shouldCompareShorterUnencodedLessThanLongerEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("hello", "%68%65%6C%6C%6F%49");
Expand All @@ -155,10 +155,10 @@ public void shouldBeLessThanZeroWhenComparesShorterAndLongerWhereSecondIsEncoded
}

@Test
public void shouldBeLessThanZeroWhenComparesShorterAndLongerWhereFirstIsEncoded()
public void shouldCompareShorterEncodedLessThanLongerUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%68%65%6C%6C%6F", "hello1");
Expand All @@ -168,10 +168,10 @@ public void shouldBeLessThanZeroWhenComparesShorterAndLongerWhereFirstIsEncoded(
}

@Test
public void shouldBeLessThanZeroWhenComparesShorterAndLongerWhereBothAreEncoded()
public void shouldCompareShorterEncodedLessThanLongerEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%68%65%6C%6C%6F", "%68%65%6C%6C%6F%49");
Expand All @@ -181,10 +181,10 @@ public void shouldBeLessThanZeroWhenComparesShorterAndLongerWhereBothAreEncoded(
}

@Test
public void shouldBeGreaterThanZeroWhenComparesLargerAndSmaller()
public void shouldCompareLargerUnencodedGreaterThanSmallerUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("hello", "ciao");
Expand All @@ -194,10 +194,10 @@ public void shouldBeGreaterThanZeroWhenComparesLargerAndSmaller()
}

@Test
public void shouldBeGreaterThanZeroWhenComparesLargerAndSmallerWhereSecondIsEncoded()
public void shouldCompareLargerUnencodedGreaterThanSmallerEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("hello", "%63%69%61%6F");
Expand All @@ -207,10 +207,10 @@ public void shouldBeGreaterThanZeroWhenComparesLargerAndSmallerWhereSecondIsEnco
}

@Test
public void shouldBeGreaterThanZeroWhenComparesLargerAndSmallerWhereFirstIsEncoded()
public void shouldCompareLargerEncodedGreaterThanSmallerUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%68%65%6C%6C%6F", "ciao");
Expand All @@ -220,10 +220,10 @@ public void shouldBeGreaterThanZeroWhenComparesLargerAndSmallerWhereFirstIsEncod
}

@Test
public void shouldBeGreaterThanZeroWhenComparesLargerAndSmallerWhereBothAreEncoded()
public void shouldCompareLargerEncodedGreaterThanSmallerEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%68%65%6C%6C%6F", "%63%69%61%6F");
Expand All @@ -233,10 +233,10 @@ public void shouldBeGreaterThanZeroWhenComparesLargerAndSmallerWhereBothAreEncod
}

@Test
public void shouldBeGreaterThanZeroWhenComparesLongerAndShorter()
public void shouldCompareLongerUnencodedGreaterThanShorterUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("hello1", "hello");
Expand All @@ -246,10 +246,10 @@ public void shouldBeGreaterThanZeroWhenComparesLongerAndShorter()
}

@Test
public void shouldBeGreaterThanZeroWhenComparesLongerAndShorterWhereSecondIsEncoded()
public void shouldCompareLongerUnencodedGreaterThanShorterEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("hello1", "%68%65%6C%6C%6F");
Expand All @@ -259,10 +259,10 @@ public void shouldBeGreaterThanZeroWhenComparesLongerAndShorterWhereSecondIsEnco
}

@Test
public void shouldBeGreaterThanZeroWhenComparesLongerAndShorterWhereFirstIsEncoded()
public void shouldCompareLongerEncodedGreaterThanShorterUnencoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%68%65%6C%6C%6F%49", "hello");
Expand All @@ -272,10 +272,10 @@ public void shouldBeGreaterThanZeroWhenComparesLongerAndShorterWhereFirstIsEncod
}

@Test
public void shouldBeGreaterThanZeroWhenComparesLongerAndShorterWhereBothAreEncoded()
public void shouldCompareLongerEncodedGreaterThanShorterEncoded()
{
// GIVEN
PercentEncodableStringComparator comparator = new PercentEncodableStringComparator();
HttpQueryStringComparator comparator = new HttpQueryStringComparator();

// WHEN
int result = comparator.compare("%68%65%6C%6C%6F%49", "%68%65%6C%6C%6F");
Expand Down