response_status response_start(client_t *client) { response_status ret ; if(client->status_code == 304){ return write_headers(client, NULL, 0, 0); } if (CheckFileWrapper(client->response)) { DEBUG("use sendfile"); //enable_cork(client); ret = start_response_file(client); if(ret == STATUS_OK){ // sended header ret = process_sendfile(client); } }else{ ret = start_response_write(client); DEBUG("start_response_write status_code %d ret = %d", client->status_code, ret); if(ret == STATUS_OK){ // sended header ret = process_write(client); } } return ret; }
int response_start(client_t *client) { int ret; enable_cork(client); if(client->status_code == 304){ return write_headers(client); } ret = start_response_write(client); #ifdef DEBUG printf("start_response_write ret = %d \n", ret); #endif if(ret > 0){ // sended header ret = processs_write(client); } return ret; }