45
45
import java .util .List ;
46
46
import java .util .ListIterator ;
47
47
import java .util .Map ;
48
+ import java .util .Objects ;
48
49
import java .util .Optional ;
49
50
import java .util .Set ;
50
51
import java .util .concurrent .CopyOnWriteArrayList ;
@@ -105,6 +106,16 @@ public static abstract class HttpTestRequestHeaders {
105
106
public abstract Set <Map .Entry <String , List <String >>> entrySet ();
106
107
public abstract List <String > get (String name );
107
108
public abstract boolean containsKey (String name );
109
+ @ Override
110
+ public boolean equals (Object o ) {
111
+ if (this == o ) return true ;
112
+ if (!(o instanceof HttpTestRequestHeaders other )) return false ;
113
+ return Objects .equals (entrySet (), other .entrySet ());
114
+ }
115
+ @ Override
116
+ public int hashCode () {
117
+ return Objects .hashCode (entrySet ());
118
+ }
108
119
109
120
public static HttpTestRequestHeaders of (Headers headers ) {
110
121
return new Http1TestRequestHeaders (headers );
@@ -138,6 +149,10 @@ public List<String> get(String name) {
138
149
public boolean containsKey (String name ) {
139
150
return headers .containsKey (name );
140
151
}
152
+ @ Override
153
+ public String toString () {
154
+ return String .valueOf (headers );
155
+ }
141
156
}
142
157
private static final class Http2TestRequestHeaders extends HttpTestRequestHeaders {
143
158
private final HttpHeaders headers ;
@@ -160,6 +175,10 @@ public List<String> get(String name) {
160
175
public boolean containsKey (String name ) {
161
176
return headers .firstValue (name ).isPresent ();
162
177
}
178
+ @ Override
179
+ public String toString () {
180
+ return String .valueOf (headers );
181
+ }
163
182
}
164
183
}
165
184
0 commit comments