Skip to content

Commit cdbeeba

Browse files
committed
Don't close connection in order to the get the reply http header in http_request.cpp.
1 parent 3279c71 commit cdbeeba

File tree

5 files changed

+47
-186
lines changed

5 files changed

+47
-186
lines changed

‎android/acl_c++_shared/acl_c++_shared.iml‎

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -104,56 +104,39 @@
104104
<excludeFolder url="file://$MODULE_DIR$/build" />
105105
</content>
106106
<content url="file://$MODULE_DIR$/../../include">
107-
<sourceFolder url="file://$MODULE_DIR$/../../include" isTestSource="false" />
108-
<sourceFolder url="file://$MODULE_DIR$/../../include/mysql" isTestSource="false" />
109-
<sourceFolder url="file://$MODULE_DIR$/../../include/sqlite" isTestSource="false" />
110-
<sourceFolder url="file://$MODULE_DIR$/../../include/pgsql" isTestSource="false" />
111-
<sourceFolder url="file://$MODULE_DIR$/../../include/mysql" />
112-
<sourceFolder url="file://$MODULE_DIR$/../../include/sqlite" />
113-
<sourceFolder url="file://$MODULE_DIR$/../../include/pgsql" />
114107
<sourceFolder url="file://$MODULE_DIR$/../../include" />
115108
</content>
116109
<content url="file://$MODULE_DIR$/../../include/mysql">
117-
<sourceFolder url="file://$MODULE_DIR$/../../include/mysql" isTestSource="false" />
110+
<sourceFolder url="file://$MODULE_DIR$/../../include/mysql" />
118111
</content>
119112
<content url="file://$MODULE_DIR$/../../include/pgsql">
120-
<sourceFolder url="file://$MODULE_DIR$/../../include/pgsql" isTestSource="false" />
113+
<sourceFolder url="file://$MODULE_DIR$/../../include/pgsql" />
121114
</content>
122115
<content url="file://$MODULE_DIR$/../../include/sqlite">
123-
<sourceFolder url="file://$MODULE_DIR$/../../include/sqlite" isTestSource="false" />
116+
<sourceFolder url="file://$MODULE_DIR$/../../include/sqlite" />
124117
</content>
125118
<content url="file://$MODULE_DIR$/../../lib_acl">
126-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl" isTestSource="false" />
127-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl/src" isTestSource="false" />
128-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl/include" isTestSource="false" />
129-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl/src" />
130-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl/include" />
131119
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl" />
132120
</content>
133121
<content url="file://$MODULE_DIR$/../../lib_acl/include">
134-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl/include" isTestSource="false" />
122+
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl/include" />
135123
</content>
136124
<content url="file://$MODULE_DIR$/../../lib_acl/src">
137-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl/src" isTestSource="false" />
125+
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl/src" />
138126
</content>
139127
<content url="file://$MODULE_DIR$/../../lib_acl_cpp/include">
140-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl_cpp/include" isTestSource="false" />
141128
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl_cpp/include" />
142129
</content>
143130
<content url="file://$MODULE_DIR$/../../lib_acl_cpp/src">
144-
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl_cpp/src" isTestSource="false" />
145131
<sourceFolder url="file://$MODULE_DIR$/../../lib_acl_cpp/src" />
146132
</content>
147133
<content url="file://$MODULE_DIR$/../../lib_fiber">
148-
<sourceFolder url="file://$MODULE_DIR$/../../lib_fiber" isTestSource="false" />
149134
<sourceFolder url="file://$MODULE_DIR$/../../lib_fiber" />
150135
</content>
151136
<content url="file://$MODULE_DIR$/../../lib_protocol/include">
152-
<sourceFolder url="file://$MODULE_DIR$/../../lib_protocol/include" isTestSource="false" />
153137
<sourceFolder url="file://$MODULE_DIR$/../../lib_protocol/include" />
154138
</content>
155139
<content url="file://$MODULE_DIR$/../../lib_protocol/src">
156-
<sourceFolder url="file://$MODULE_DIR$/../../lib_protocol/src" isTestSource="false" />
157140
<sourceFolder url="file://$MODULE_DIR$/../../lib_protocol/src" />
158141
</content>
159142
<orderEntry type="jdk" jdkName="Android API 28 Platform" jdkType="Android SDK" />

‎android/samples/http/http.iml‎

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.id="http" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.id="http" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="java-gradle" name="Java-Gradle">
55
<configuration>
@@ -8,10 +8,11 @@
88
</configuration>
99
</facet>
1010
</component>
11-
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
11+
<component name="NewModuleRootManager" inherit-compiler-output="true">
1212
<exclude-output />
1313
<content url="file://$MODULE_DIR$">
1414
<excludeFolder url="file://$MODULE_DIR$/.gradle" />
15+
<excludeFolder url="file://$MODULE_DIR$/build" />
1516
</content>
1617
<orderEntry type="inheritedJdk" />
1718
<orderEntry type="sourceFolder" forTests="false" />

‎android/samples/http/http/http-http.iml‎

Lines changed: 0 additions & 145 deletions
This file was deleted.

‎android/samples/http/http/src/main/cpp/http_client.cpp‎

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ static bool HttpGet(
2626
const std::string& server_url,
2727
acl::string& out)
2828
{
29-
//acl::http_request request(server_addr.c_str());
30-
acl::http_request request("61.135.185.32:80");
29+
acl::http_request request(server_addr.c_str());
30+
//acl::http_request request("61.135.185.32:80");
3131
acl::http_header& header = request.request_header();
3232
header.set_url(server_url.c_str())
3333
.set_host(server_host.c_str())
3434
.accept_gzip(true)
35-
.set_keep_alive(false);
35+
.set_keep_alive(true);
3636

3737
log_info("HttpGet: addr=%s, host=%s, url=%s", server_addr.c_str(),
3838
server_host.c_str(), server_url.c_str());
@@ -47,6 +47,36 @@ static bool HttpGet(
4747
return false;
4848
}
4949

50+
if (!out.empty()) {
51+
log_info("response body length: %zd", out.length());
52+
return true;
53+
}
54+
55+
acl::http_client* client = request.get_client();
56+
if (client != NULL) {
57+
client->sprint_header(out);
58+
log_info("http response header: %s", out.c_str());
59+
return true;
60+
}
61+
62+
log_info("get_client NULL");
63+
int http_status = request.http_status();
64+
out.format_append("http_status: %d\r\n", http_status);
65+
const char* ptr = request.header_value("Location");
66+
if (ptr) {
67+
out.format_append("Location: %s\r\n", ptr);
68+
}
69+
70+
ptr = request.header_value("Content-Length");
71+
if (ptr) {
72+
out.format_append("Content-Length: %s\r\n", ptr);
73+
}
74+
75+
ptr = request.header_value("Connection");
76+
if (ptr) {
77+
out.format_append("Connection: %s\r\n", ptr);
78+
}
79+
5080
return true;
5181
}
5282

0 commit comments

Comments
 (0)