MCPcopy Create free account
hub / github.com/acl-dev/acl / get_header_ready

Function get_header_ready

lib_protocol/samples/http_probe/probe_run.cpp:150–200  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

148}
149
150static int get_header_ready(int status, void *arg)
151{
152 const char *myname = "get_header_ready";
153 PROBE_SERVER *server = (PROBE_SERVER *) arg;
154 char buf[256];
155
156 if (status != HTTP_CHAT_OK) {
157 msg_error(server, "%s(%d), get header error", myname, __LINE__);
158 close_stream(server);
159 timer_retry(server);
160 return -1;
161 }
162
163 if (http_hdr_res_parse(server->hdr_res) < 0) {
164 msg_error(server, "%s(%d), parse hdr error", myname, __LINE__);
165 close_stream(server);
166 timer_retry(server);
167 return -1;
168 }
169
170 snprintf(buf, sizeof(buf), "%d", server->hdr_res->reply_status);
171 if (strstr(server->http_status_errors, buf) != NULL) {
172 msg_error(server, "%s(%d), reply status(%s) error",
173 myname, __LINE__, buf);
174 if (var_probe_debug_fp)
175 http_hdr_fprint(var_probe_debug_fp,
176 &server->hdr_res->hdr, myname);
177 close_stream(server);
178 timer_retry(server);
179 return -1;
180 }
181
182 if (server->hdr_res->hdr.content_length == 0) {
183 msg_info(server, "%s(%d), get hdr over", myname, __LINE__);
184 if (var_probe_debug_fp)
185 http_hdr_fprint(var_probe_debug_fp,
186 &server->hdr_res->hdr, myname);
187 close_stream(server);
188 timer_retry(server);
189 } else {
190 if (var_probe_debug_fp)
191 http_hdr_fprint(var_probe_debug_fp,
192 &server->hdr_res->hdr, myname);
193
194 server->res = http_res_new(server->hdr_res);
195 http_res_body_get_async(server->res, server->stream,
196 get_body_ready, server, server->rw_timeout);
197 }
198
199 return 0;
200}
201
202static int write_callback(ACL_ASTREAM *stream, void *context)
203{

Callers

nothing calls this directly

Calls 8

timer_retryFunction · 0.85
http_hdr_res_parseFunction · 0.85
http_hdr_fprintFunction · 0.85
http_res_newFunction · 0.85
http_res_body_get_asyncFunction · 0.85
msg_errorFunction · 0.70
close_streamFunction · 0.70
msg_infoFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…