| 238 } |
238 } |
| 239 return ret; |
239 return ret; |
| 240 } |
240 } |
| 241 |
241 |
| 242 int http_client_process(HttpClient *client) { |
242 int http_client_process(HttpClient *client) { |
| |
243 if(client->stage < 0) { |
| |
244 return 0; |
| |
245 } |
| 243 return client_io(client->ev, &client->event); |
246 return client_io(client->ev, &client->event); |
| 244 } |
247 } |
| 245 |
248 |
| 246 size_t http_client_message_buf_size_available(HttpClient *client) { |
249 size_t http_client_message_buf_size_available(HttpClient *client) { |
| 247 return client->transfer_buffer_alloc - client->transfer_buffer_len; |
250 return client->transfer_buffer_alloc - client->transfer_buffer_len; |
| 291 return 0; |
294 return 0; |
| 292 } |
295 } |
| 293 |
296 |
| 294 static int client_connected(EventHandler *ev, Event *event) { |
297 static int client_connected(EventHandler *ev, Event *event) { |
| 295 HttpClient *client = event->cookie; |
298 HttpClient *client = event->cookie; |
| |
299 if(client->stage < 0) { |
| |
300 return 0; |
| |
301 } |
| 296 if(create_req_buffer(client)) { |
302 if(create_req_buffer(client)) { |
| 297 // TODO: set error |
303 // TODO: set error |
| 298 return 0; // end |
304 return 0; // end |
| 299 } |
305 } |
| 300 event->fn = client_io; |
306 event->fn = client_io; |
| 302 return client_io(ev, event); |
308 return client_io(ev, event); |
| 303 } |
309 } |
| 304 |
310 |
| 305 static int client_io(EventHandler *ev, Event *event) { |
311 static int client_io(EventHandler *ev, Event *event) { |
| 306 HttpClient *client = event->cookie; |
312 HttpClient *client = event->cookie; |
| |
313 if(client->stage < 0) { |
| |
314 return 0; |
| |
315 } |
| |
316 |
| 307 if(client->stage == 0) { |
317 if(client->stage == 0) { |
| 308 if(client->transfer_buffer_pos < client->transfer_buffer_len) { |
318 if(client->transfer_buffer_pos < client->transfer_buffer_len) { |
| 309 if(client_send_buf(client)) { |
319 if(client_send_buf(client)) { |
| 310 return client->error == 0; |
320 return client->error == 0; |
| 311 } |
321 } |