Пример #1
0
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;
}
Пример #2
0
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;
}