Skip to content

Commit 1e6b99d

Browse files
committed
Remove default header.
1 parent b1386f7 commit 1e6b99d

File tree

5 files changed

+56
-12
lines changed

5 files changed

+56
-12
lines changed

src/main/java/jodd/http/HttpBase.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,6 @@ public static class Defaults {
8181
* Default body encoding (UTF-8).
8282
*/
8383
public static String bodyEncoding = "UTF-8";
84-
/**
85-
* Default user agent value.
86-
*/
87-
public static String userAgent = "Jodd HTTP";
8884
/**
8985
* Flag that controls if headers should be rewritten and capitalized in PascalCase.
9086
* When disabled, header keys are used as they are passed.
@@ -105,6 +101,7 @@ public static class Defaults {
105101
public static final String HEADER_CONNECTION = "Connection";
106102
public static final String HEADER_KEEP_ALIVE = "Keep-Alive";
107103
public static final String HEADER_CLOSE = "Close";
104+
public static final String HEADER_USER_AGENT = "User-Agent";
108105
public static final String HTTP_1_0 = "HTTP/1.0";
109106
public static final String HTTP_1_1 = "HTTP/1.1";
110107

src/main/java/jodd/http/HttpRequest.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,10 @@ public HttpRequest() {
6666
}
6767

6868
/**
69-
* Prepares request on creation. By default, it just
70-
* adds "Connection: Close" header.
69+
* Prepares request on creation. Does the following:
70+
* <ul>
71+
* <li>adds "Connection: Close" header.</li>
72+
* </ul>
7173
*/
7274
protected void initRequest() {
7375
connectionKeepAlive(false);
@@ -964,9 +966,9 @@ protected Buffer buffer(final boolean fullRequest) {
964966

965967
// user-agent
966968

967-
if (header("User-Agent") == null) {
968-
header("User-Agent", Defaults.userAgent);
969-
}
969+
// if (header("User-Agent") == null) {
970+
// header("User-Agent", Defaults.userAgent);
971+
// }
970972

971973
// POST method requires Content-Type to be set
972974

src/test/java/jodd/http/HttpConnectionTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ public void transferred(final int len) {
145145
echoTestServer.stop();
146146
file.delete();
147147

148-
assertEquals(":0:512:1024:148", StringUtil.substring(sb.toString(), 0, -1));
148+
assertEquals(":0:512:1024:146", StringUtil.substring(sb.toString(), 0, -1));
149149
}
150150

151151
}

src/test/java/jodd/http/HttpRequestTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ void testCapitalizeHeaders() {
355355
request.header("key-test2", "value3");
356356
assertTrue(request.toString(false).contains("Key-Test2: value2, value3"), "Header key should have been modified");
357357
assertEquals(2, request.headers("KEY-TEST2").size());
358-
assertEquals(2 + 2, request.headerNames().size()); // 2 default and 2 added
358+
assertEquals(1 + 2, request.headerNames().size()); // 2 default and 2 added
359359

360360
request.headerRemove("key-test2");
361361
assertFalse(request.headers.contains("key-test2"));
@@ -375,7 +375,7 @@ void testCapitalizeHeaders() {
375375
request.header("key-test1", "value4");
376376
assertTrue(request.toString(false).contains("key-test1: VALUE1, value4"), "Header key should not have been modified");
377377
assertEquals(2, request.headers("KEY-TEST1").size());
378-
assertEquals(2 + 2, request.headerNames().size()); // 2 default and 2 added
378+
assertEquals(1 + 2, request.headerNames().size()); // 2 default and 2 added
379379

380380
request.headerRemove("key-test1");
381381
assertFalse(request.headers.contains("key-test1"));
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package jodd.http;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import java.io.ByteArrayOutputStream;
6+
import java.io.IOException;
7+
8+
import static org.junit.jupiter.api.Assertions.assertFalse;
9+
import static org.junit.jupiter.api.Assertions.assertNotNull;
10+
import static org.junit.jupiter.api.Assertions.assertNull;
11+
12+
class RemoveHeaderTest {
13+
14+
@Test
15+
void testRemoveHeader() {
16+
HttpRequest request = HttpRequest
17+
.get("https://example.com")
18+
.header("x-dummy-header", "remove me");
19+
20+
assertNotNull(request.header("x-dummy-header"));
21+
22+
request.headerRemove("x-dummy-header");
23+
24+
assertNull(request.header("x-dummy-header"));
25+
}
26+
27+
@Test
28+
void testRemoveHeaderUserAgent() throws IOException {
29+
HttpRequest request = HttpRequest
30+
.get("https://example.com")
31+
.header("x-dummy-header", "remove me");
32+
33+
assertNull(request.header("User-Agent"));
34+
35+
request.headerRemove("User-Agent");
36+
37+
assertNull(request.header("User-Agent"));
38+
39+
ByteArrayOutputStream baos = new ByteArrayOutputStream();
40+
request.sendTo(baos);
41+
String out = baos.toString();
42+
43+
assertFalse(out.contains("User-Agent"));
44+
}
45+
}

0 commit comments

Comments
 (0)