src/server/proxy/httpclient.c

changeset 703
395c62fac7e5
parent 702
ee80191310ca
equal deleted inserted replaced
702:ee80191310ca 703:395c62fac7e5
468 static int client_read_response_header(HttpClient *client) { 468 static int client_read_response_header(HttpClient *client) {
469 if(client->response_header_complete) { 469 if(client->response_header_complete) {
470 return 0; 470 return 0;
471 } 471 }
472 472
473 unsigned char *buffer = client->buffer.inbuf + client->buffer.pos; 473 unsigned char *buffer = client->buffer.inbuf + client->buffer.cursize;
474 size_t nbytes = client->buffer.maxsize - client->buffer.cursize; 474 size_t nbytes = client->buffer.maxsize - client->buffer.cursize;
475 475
476 ssize_t r; 476 ssize_t r;
477 while((r = read(client->socketfd, buffer, nbytes)) > 0) { 477 while((r = read(client->socketfd, buffer, nbytes)) > 0) {
478 client->buffer.cursize += r; 478 client->buffer.cursize += r;
479 if(!client->response_header_complete) { 479 if(!client->response_header_complete) {
480 switch(http_parser_process(client->parser)) { 480 switch(http_parser_process(client->parser)) {
481 case 0: { // finish 481 case 0: { // finish
482 if(!http_parser_validate(client->parser)) { 482 if(!http_parser_validate(client->parser)) {

mercurial