src/server/proxy/httpclient.c

changeset 706
df64b4b79912
parent 704
778dcf4ad63c
equal deleted inserted replaced
705:30de3bfd0412 706:df64b4b79912
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 }

mercurial