Lines Matching refs:client

224 static size_t php_cli_server_client_send_through(php_cli_server_client *client, const char *str, si…
228 static void php_cli_server_log_response(php_cli_server_client *client, int status, const char *mess…
351 static void append_essential_headers(smart_str* buffer, php_cli_server_client *client, int persiste… in append_essential_headers() argument
371 if (NULL != (val = zend_hash_str_find_ptr(&client->request.headers, "host", sizeof("host")-1))) { in append_essential_headers()
401 php_cli_server_client *client; in PHP_FUNCTION() local
411 client = SG(server_context); in PHP_FUNCTION()
412 headers = &client->request.headers_original_case; in PHP_FUNCTION()
521 php_cli_server_client *client = SG(server_context); in sapi_cli_server_ub_write() local
522 if (!client) { in sapi_cli_server_ub_write()
525 return php_cli_server_client_send_through(client, str, str_length); in sapi_cli_server_ub_write()
530 php_cli_server_client *client = server_context; in sapi_cli_server_flush() local
532 if (!client) { in sapi_cli_server_flush()
536 if (!ZEND_VALID_SOCKET(client->sock)) { in sapi_cli_server_flush()
554 php_cli_server_client *client = SG(server_context); in sapi_cli_server_send_headers() local
559 if (client == NULL || SG(request_info).no_headers) { in sapi_cli_server_send_headers()
567 …append_http_status_line(&buffer, client->request.protocol_version, SG(sapi_headers).http_response_… in sapi_cli_server_send_headers()
570 append_essential_headers(&buffer, client, 0, sapi_headers); in sapi_cli_server_send_headers()
582 php_cli_server_client_send_through(client, ZSTR_VAL(buffer.s), ZSTR_LEN(buffer.s)); in sapi_cli_server_send_headers()
591 php_cli_server_client *client = SG(server_context); in sapi_cli_server_read_cookies() local
593 …if (NULL == (val = zend_hash_str_find_ptr(&client->request.headers, "cookie", sizeof("cookie")-1))… in sapi_cli_server_read_cookies()
601 php_cli_server_client *client = SG(server_context); in sapi_cli_server_read_post() local
602 if (client->request.content) { in sapi_cli_server_read_post()
603 size_t content_len = client->request.content_len; in sapi_cli_server_read_post()
604 …size_t nbytes_copied = MIN(client->post_read_offset + count_bytes, content_len) - client->post_rea… in sapi_cli_server_read_post()
605 memmove(buf, client->request.content + client->post_read_offset, nbytes_copied); in sapi_cli_server_read_post()
606 client->post_read_offset += nbytes_copied; in sapi_cli_server_read_post()
654 php_cli_server_client *client = SG(server_context); in sapi_cli_server_register_variables() local
655 …sapi_cli_server_register_variable(track_vars_array, "DOCUMENT_ROOT", client->server->document_root… in sapi_cli_server_register_variables()
658 if ((tmp = strrchr(client->addr_str, ':'))) { in sapi_cli_server_register_variables()
660 const char *addr_start = client->addr_str, *addr_end = tmp; in sapi_cli_server_register_variables()
671 sapi_cli_server_register_variable(track_vars_array, "REMOTE_ADDR", client->addr_str); in sapi_cli_server_register_variables()
682 …spprintf(&tmp, 0, "HTTP/%d.%d", client->request.protocol_version / 100, client->request.protocol_v… in sapi_cli_server_register_variables()
686 sapi_cli_server_register_variable(track_vars_array, "SERVER_NAME", client->server->host); in sapi_cli_server_register_variables()
689 spprintf(&tmp, 0, "%i", client->server->port); in sapi_cli_server_register_variables()
694 sapi_cli_server_register_variable(track_vars_array, "REQUEST_URI", client->request.request_uri); in sapi_cli_server_register_variables()
696 sapi_cli_server_register_variable(track_vars_array, "SCRIPT_NAME", client->request.vpath); in sapi_cli_server_register_variables()
699 } else if (client->server->router) { in sapi_cli_server_register_variables()
700 sapi_cli_server_register_variable(track_vars_array, "SCRIPT_FILENAME", client->server->router); in sapi_cli_server_register_variables()
702 if (client->request.path_info) { in sapi_cli_server_register_variables()
703 sapi_cli_server_register_variable(track_vars_array, "PATH_INFO", client->request.path_info); in sapi_cli_server_register_variables()
705 if (client->request.path_info_len) { in sapi_cli_server_register_variables()
707 spprintf(&tmp, 0, "%s%s", client->request.vpath, client->request.path_info); in sapi_cli_server_register_variables()
711 sapi_cli_server_register_variable(track_vars_array, "PHP_SELF", client->request.vpath); in sapi_cli_server_register_variables()
713 if (client->request.query_string) { in sapi_cli_server_register_variables()
714 sapi_cli_server_register_variable(track_vars_array, "QUERY_STRING", client->request.query_string); in sapi_cli_server_register_variables()
716 …zend_hash_apply_with_arguments(&client->request.headers, (apply_func_args_t)sapi_cli_server_regist… in sapi_cli_server_register_variables()
1137 static void php_cli_server_log_response(php_cli_server_client *client, int status, const char *mess… in php_cli_server_log_response() argument
1170 …(&basic_buf, 0, "%s [%d]: %s %s", client->addr_str, status, php_http_method_str(client->request.re… in php_cli_server_log_response()
1585 php_cli_server_client *client = parser->data; in php_cli_server_client_read_request_on_path() local
1589 if (UNEXPECTED(client->request.vpath != NULL)) { in php_cli_server_client_read_request_on_path()
1593 client->request.vpath = vpath; in php_cli_server_client_read_request_on_path()
1594 client->request.vpath_len = vpath_len; in php_cli_server_client_read_request_on_path()
1601 php_cli_server_client *client = parser->data; in php_cli_server_client_read_request_on_query_string() local
1602 if (EXPECTED(client->request.query_string == NULL)) { in php_cli_server_client_read_request_on_query_string()
1603 client->request.query_string = pestrndup(at, length, 1); in php_cli_server_client_read_request_on_query_string()
1604 client->request.query_string_len = length; in php_cli_server_client_read_request_on_query_string()
1606 …ZEND_ASSERT(length <= PHP_HTTP_MAX_HEADER_SIZE && PHP_HTTP_MAX_HEADER_SIZE - length >= client->req… in php_cli_server_client_read_request_on_query_string()
1607client->request.query_string = perealloc(client->request.query_string, client->request.query_strin… in php_cli_server_client_read_request_on_query_string()
1608 memcpy(client->request.query_string + client->request.query_string_len, at, length); in php_cli_server_client_read_request_on_query_string()
1609 client->request.query_string_len += length; in php_cli_server_client_read_request_on_query_string()
1610 client->request.query_string[client->request.query_string_len] = '\0'; in php_cli_server_client_read_request_on_query_string()
1617 php_cli_server_client *client = parser->data; in php_cli_server_client_read_request_on_url() local
1618 if (EXPECTED(client->request.request_uri == NULL)) { in php_cli_server_client_read_request_on_url()
1619 client->request.request_method = parser->method; in php_cli_server_client_read_request_on_url()
1620 client->request.request_uri = pestrndup(at, length, 1); in php_cli_server_client_read_request_on_url()
1621 client->request.request_uri_len = length; in php_cli_server_client_read_request_on_url()
1623 ZEND_ASSERT(client->request.request_method == parser->method); in php_cli_server_client_read_request_on_url()
1624 …ZEND_ASSERT(length <= PHP_HTTP_MAX_HEADER_SIZE && PHP_HTTP_MAX_HEADER_SIZE - length >= client->req… in php_cli_server_client_read_request_on_url()
1625client->request.request_uri = perealloc(client->request.request_uri, client->request.request_uri_l… in php_cli_server_client_read_request_on_url()
1626 memcpy(client->request.request_uri + client->request.request_uri_len, at, length); in php_cli_server_client_read_request_on_url()
1627 client->request.request_uri_len += length; in php_cli_server_client_read_request_on_url()
1628 client->request.request_uri[client->request.request_uri_len] = '\0'; in php_cli_server_client_read_request_on_url()
1638 static void php_cli_server_client_save_header(php_cli_server_client *client) in php_cli_server_client_save_header() argument
1641 …zend_string *orig_header_name = zend_string_init(client->current_header_name, client->current_head… in php_cli_server_client_save_header()
1642 zend_string *lc_header_name = zend_string_alloc(client->current_header_name_len, 1); in php_cli_server_client_save_header()
1643 …zend_str_tolower_copy(ZSTR_VAL(lc_header_name), client->current_header_name, client->current_heade… in php_cli_server_client_save_header()
1646 zend_hash_add_ptr(&client->request.headers, lc_header_name, client->current_header_value); in php_cli_server_client_save_header()
1647 …zend_hash_add_ptr(&client->request.headers_original_case, orig_header_name, client->current_header… in php_cli_server_client_save_header()
1651 if (client->current_header_name_allocated) { in php_cli_server_client_save_header()
1652 pefree(client->current_header_name, 1); in php_cli_server_client_save_header()
1653 client->current_header_name_allocated = 0; in php_cli_server_client_save_header()
1655 client->current_header_name = NULL; in php_cli_server_client_save_header()
1656 client->current_header_name_len = 0; in php_cli_server_client_save_header()
1657 client->current_header_value = NULL; in php_cli_server_client_save_header()
1658 client->current_header_value_len = 0; in php_cli_server_client_save_header()
1663 php_cli_server_client *client = parser->data; in php_cli_server_client_read_request_on_header_field() local
1664 switch (client->last_header_element) { in php_cli_server_client_read_request_on_header_field()
1666 php_cli_server_client_save_header(client); in php_cli_server_client_read_request_on_header_field()
1669 client->current_header_name = (char *)at; in php_cli_server_client_read_request_on_header_field()
1670 client->current_header_name_len = length; in php_cli_server_client_read_request_on_header_field()
1673 if (client->current_header_name_allocated) { in php_cli_server_client_read_request_on_header_field()
1674 size_t new_length = client->current_header_name_len + length; in php_cli_server_client_read_request_on_header_field()
1675 client->current_header_name = perealloc(client->current_header_name, new_length + 1, 1); in php_cli_server_client_read_request_on_header_field()
1676 memcpy(client->current_header_name + client->current_header_name_len, at, length); in php_cli_server_client_read_request_on_header_field()
1677 client->current_header_name[new_length] = '\0'; in php_cli_server_client_read_request_on_header_field()
1678 client->current_header_name_len = new_length; in php_cli_server_client_read_request_on_header_field()
1680 size_t new_length = client->current_header_name_len + length; in php_cli_server_client_read_request_on_header_field()
1682 memcpy(field, client->current_header_name, client->current_header_name_len); in php_cli_server_client_read_request_on_header_field()
1683 memcpy(field + client->current_header_name_len, at, length); in php_cli_server_client_read_request_on_header_field()
1685 client->current_header_name = field; in php_cli_server_client_read_request_on_header_field()
1686 client->current_header_name_len = new_length; in php_cli_server_client_read_request_on_header_field()
1687 client->current_header_name_allocated = 1; in php_cli_server_client_read_request_on_header_field()
1692 client->last_header_element = HEADER_FIELD; in php_cli_server_client_read_request_on_header_field()
1698 php_cli_server_client *client = parser->data; in php_cli_server_client_read_request_on_header_value() local
1699 switch (client->last_header_element) { in php_cli_server_client_read_request_on_header_value()
1701 client->current_header_value = pestrndup(at, length, 1); in php_cli_server_client_read_request_on_header_value()
1702 client->current_header_value_len = length; in php_cli_server_client_read_request_on_header_value()
1706 size_t new_length = client->current_header_value_len + length; in php_cli_server_client_read_request_on_header_value()
1707 client->current_header_value = perealloc(client->current_header_value, new_length + 1, 1); in php_cli_server_client_read_request_on_header_value()
1708 memcpy(client->current_header_value + client->current_header_value_len, at, length); in php_cli_server_client_read_request_on_header_value()
1709 client->current_header_value[new_length] = '\0'; in php_cli_server_client_read_request_on_header_value()
1710 client->current_header_value_len = new_length; in php_cli_server_client_read_request_on_header_value()
1718 client->last_header_element = HEADER_VALUE; in php_cli_server_client_read_request_on_header_value()
1724 php_cli_server_client *client = parser->data; in php_cli_server_client_read_request_on_headers_complete() local
1725 switch (client->last_header_element) { in php_cli_server_client_read_request_on_headers_complete()
1729 client->current_header_value = pemalloc(1, 1); in php_cli_server_client_read_request_on_headers_complete()
1730 *client->current_header_value = '\0'; in php_cli_server_client_read_request_on_headers_complete()
1731 client->current_header_value_len = 0; in php_cli_server_client_read_request_on_headers_complete()
1734 php_cli_server_client_save_header(client); in php_cli_server_client_read_request_on_headers_complete()
1737 client->last_header_element = HEADER_NONE; in php_cli_server_client_read_request_on_headers_complete()
1743 php_cli_server_client *client = parser->data; in php_cli_server_client_read_request_on_body() local
1744 if (!client->request.content) { in php_cli_server_client_read_request_on_body()
1745 client->request.content = pemalloc(parser->content_length, 1); in php_cli_server_client_read_request_on_body()
1746 client->request.content_len = 0; in php_cli_server_client_read_request_on_body()
1748client->request.content = perealloc(client->request.content, client->request.content_len + length,… in php_cli_server_client_read_request_on_body()
1749 memmove(client->request.content + client->request.content_len, at, length); in php_cli_server_client_read_request_on_body()
1750 client->request.content_len += length; in php_cli_server_client_read_request_on_body()
1756 php_cli_server_client *client = parser->data; in php_cli_server_client_read_request_on_message_complete() local
1757 client->request.protocol_version = parser->http_major * 100 + parser->http_minor; in php_cli_server_client_read_request_on_message_complete()
1758 …php_cli_server_request_translate_vpath(&client->request, client->server->document_root, client->se… in php_cli_server_client_read_request_on_message_complete()
1760 const char *vpath = client->request.vpath, *end = vpath + client->request.vpath_len, *p = end; in php_cli_server_client_read_request_on_message_complete()
1761 client->request.ext = end; in php_cli_server_client_read_request_on_message_complete()
1762 client->request.ext_len = 0; in php_cli_server_client_read_request_on_message_complete()
1767 client->request.ext = p; in php_cli_server_client_read_request_on_message_complete()
1768 client->request.ext_len = end - p; in php_cli_server_client_read_request_on_message_complete()
1773 client->request_read = 1; in php_cli_server_client_read_request_on_message_complete()
1777 static int php_cli_server_client_read_request(php_cli_server_client *client, char **errstr) in php_cli_server_client_read_request() argument
1794 if (client->request_read) { in php_cli_server_client_read_request()
1797 nbytes_read = recv(client->sock, buf, sizeof(buf) - 1, 0); in php_cli_server_client_read_request()
1816 client->parser.data = client; in php_cli_server_client_read_request()
1817 nbytes_consumed = php_http_parser_execute(&client->parser, &settings, buf, nbytes_read); in php_cli_server_client_read_request()
1829 if (client->current_header_name) { in php_cli_server_client_read_request()
1830 char *header_name = safe_pemalloc(client->current_header_name_len, 1, 1, 1); in php_cli_server_client_read_request()
1831 memmove(header_name, client->current_header_name, client->current_header_name_len); in php_cli_server_client_read_request()
1832 client->current_header_name = header_name; in php_cli_server_client_read_request()
1833 client->current_header_name_allocated = 1; in php_cli_server_client_read_request()
1835 return client->request_read ? 1: 0; in php_cli_server_client_read_request()
1839 static size_t php_cli_server_client_send_through(php_cli_server_client *client, const char *str, si… in php_cli_server_client_send_through() argument
1854 nbytes_sent = send(client->sock, str + str_len - nbytes_left, nbytes_left, 0); in php_cli_server_client_send_through()
1858 int nfds = php_pollfd_for(client->sock, POLLOUT, &tv); in php_cli_server_client_send_through()
1877 static void php_cli_server_client_populate_request_info(const php_cli_server_client *client, sapi_r… in php_cli_server_client_populate_request_info() argument
1881 request_info->request_method = php_http_method_str(client->request.request_method); in php_cli_server_client_populate_request_info()
1882 request_info->proto_num = client->request.protocol_version; in php_cli_server_client_populate_request_info()
1883 request_info->request_uri = client->request.request_uri; in php_cli_server_client_populate_request_info()
1884 request_info->path_translated = client->request.path_translated; in php_cli_server_client_populate_request_info()
1885 request_info->query_string = client->request.query_string; in php_cli_server_client_populate_request_info()
1886 request_info->content_length = client->request.content_len; in php_cli_server_client_populate_request_info()
1888 …if (NULL != (val = zend_hash_str_find_ptr(&client->request.headers, "content-type", sizeof("conten… in php_cli_server_client_populate_request_info()
1897 static int php_cli_server_client_ctor(php_cli_server_client *client, php_cli_server *server, php_so… in php_cli_server_client_ctor() argument
1899 client->server = server; in php_cli_server_client_ctor()
1900 client->sock = client_sock; in php_cli_server_client_ctor()
1901 client->addr = addr; in php_cli_server_client_ctor()
1902 client->addr_len = addr_len; in php_cli_server_client_ctor()
1907 client->addr_str = pestrndup(ZSTR_VAL(addr_str), ZSTR_LEN(addr_str), 1); in php_cli_server_client_ctor()
1908 client->addr_str_len = ZSTR_LEN(addr_str); in php_cli_server_client_ctor()
1911 php_http_parser_init(&client->parser, PHP_HTTP_REQUEST); in php_cli_server_client_ctor()
1912 client->request_read = 0; in php_cli_server_client_ctor()
1914 client->last_header_element = HEADER_NONE; in php_cli_server_client_ctor()
1915 client->current_header_name = NULL; in php_cli_server_client_ctor()
1916 client->current_header_name_len = 0; in php_cli_server_client_ctor()
1917 client->current_header_name_allocated = 0; in php_cli_server_client_ctor()
1918 client->current_header_value = NULL; in php_cli_server_client_ctor()
1919 client->current_header_value_len = 0; in php_cli_server_client_ctor()
1921 client->post_read_offset = 0; in php_cli_server_client_ctor()
1922 if (FAILURE == php_cli_server_request_ctor(&client->request)) { in php_cli_server_client_ctor()
1925 client->content_sender_initialized = 0; in php_cli_server_client_ctor()
1926 client->file_fd = -1; in php_cli_server_client_ctor()
1930 static void php_cli_server_client_dtor(php_cli_server_client *client) /* {{{ */ in php_cli_server_client_dtor() argument
1932 php_cli_server_request_dtor(&client->request); in php_cli_server_client_dtor()
1933 if (client->file_fd >= 0) { in php_cli_server_client_dtor()
1934 close(client->file_fd); in php_cli_server_client_dtor()
1935 client->file_fd = -1; in php_cli_server_client_dtor()
1937 pefree(client->addr, 1); in php_cli_server_client_dtor()
1938 pefree(client->addr_str, 1); in php_cli_server_client_dtor()
1939 if (client->content_sender_initialized) { in php_cli_server_client_dtor()
1940 php_cli_server_content_sender_dtor(&client->content_sender); in php_cli_server_client_dtor()
1944 static void php_cli_server_close_connection(php_cli_server *server, php_cli_server_client *client) … in php_cli_server_close_connection() argument
1946 php_cli_server_logf(PHP_CLI_SERVER_LOG_MESSAGE, "%s Closing", client->addr_str); in php_cli_server_close_connection()
1948 zend_hash_index_del(&server->clients, client->sock); in php_cli_server_close_connection()
1951 static int php_cli_server_send_error_page(php_cli_server *server, php_cli_server_client *client, in… in php_cli_server_send_error_page() argument
1959 php_cli_server_content_sender_ctor(&client->content_sender); in php_cli_server_send_error_page()
1960 client->content_sender_initialized = 1; in php_cli_server_send_error_page()
1962 …_uri = php_escape_html_entities_ex((const unsigned char *) client->request.request_uri, client->re… in php_cli_server_send_error_page()
1972 php_cli_server_buffer_append(&client->content_sender.buffer, chunk); in php_cli_server_send_error_page()
1979 php_cli_server_buffer_append(&client->content_sender.buffer, chunk); in php_cli_server_send_error_page()
1987 php_cli_server_buffer_append(&client->content_sender.buffer, chunk); in php_cli_server_send_error_page()
1996 php_cli_server_buffer_append(&client->content_sender.buffer, chunk); in php_cli_server_send_error_page()
2004 php_cli_server_buffer_append(&client->content_sender.buffer, chunk); in php_cli_server_send_error_page()
2010 append_http_status_line(&buffer, client->request.protocol_version, status, 1); in php_cli_server_send_error_page()
2015 append_essential_headers(&buffer, client, 1, NULL); in php_cli_server_send_error_page()
2018 …smart_str_append_unsigned_ex(&buffer, php_cli_server_buffer_size(&client->content_sender.buffer), … in php_cli_server_send_error_page()
2027 php_cli_server_buffer_prepend(&client->content_sender.buffer, chunk); in php_cli_server_send_error_page()
2030 php_cli_server_log_response(client, status, errstr ? errstr : "?"); in php_cli_server_send_error_page()
2031 php_cli_server_poller_add(&server->poller, POLLOUT, client->sock); in php_cli_server_send_error_page()
2046 static int php_cli_server_dispatch_script(php_cli_server *server, php_cli_server_client *client) /*… in php_cli_server_dispatch_script() argument
2048 if (strlen(client->request.path_translated) != client->request.path_translated_len) { in php_cli_server_dispatch_script()
2050 return php_cli_server_send_error_page(server, client, 400); in php_cli_server_dispatch_script()
2062 php_cli_server_log_response(client, SG(sapi_headers).http_response_code, NULL); in php_cli_server_dispatch_script()
2066 static int php_cli_server_begin_send_static(php_cli_server *server, php_cli_server_client *client) … in php_cli_server_begin_send_static() argument
2071 …if (client->request.path_translated && strlen(client->request.path_translated) != client->request.… in php_cli_server_begin_send_static()
2073 return php_cli_server_send_error_page(server, client, 400); in php_cli_server_begin_send_static()
2082 if (client->request.path_translated && in php_cli_server_begin_send_static()
2083 ('.' == client->request.path_translated[client->request.path_translated_len-1] || in php_cli_server_begin_send_static()
2084 ' ' == client->request.path_translated[client->request.path_translated_len-1])) { in php_cli_server_begin_send_static()
2085 return php_cli_server_send_error_page(server, client, 500); in php_cli_server_begin_send_static()
2088 …fd = client->request.path_translated ? php_win32_ioutil_open(client->request.path_translated, O_RD… in php_cli_server_begin_send_static()
2090 fd = client->request.path_translated ? open(client->request.path_translated, O_RDONLY): -1; in php_cli_server_begin_send_static()
2093 return php_cli_server_send_error_page(server, client, 404); in php_cli_server_begin_send_static()
2096 php_cli_server_content_sender_ctor(&client->content_sender); in php_cli_server_begin_send_static()
2097 client->content_sender_initialized = 1; in php_cli_server_begin_send_static()
2098 client->file_fd = fd; in php_cli_server_begin_send_static()
2103 const char *mime_type = get_mime_type(server, client->request.ext, client->request.ext_len); in php_cli_server_begin_send_static()
2105 append_http_status_line(&buffer, client->request.protocol_version, status, 1); in php_cli_server_begin_send_static()
2108 php_cli_server_log_response(client, 500, NULL); in php_cli_server_begin_send_static()
2111 append_essential_headers(&buffer, client, 1, NULL); in php_cli_server_begin_send_static()
2121 smart_str_append_unsigned_ex(&buffer, client->request.sb.st_size, 1); in php_cli_server_begin_send_static()
2127 php_cli_server_log_response(client, 500, NULL); in php_cli_server_begin_send_static()
2130 php_cli_server_buffer_append(&client->content_sender.buffer, chunk); in php_cli_server_begin_send_static()
2132 php_cli_server_log_response(client, 200, NULL); in php_cli_server_begin_send_static()
2133 php_cli_server_poller_add(&server->poller, POLLOUT, client->sock); in php_cli_server_begin_send_static()
2138 static int php_cli_server_request_startup(php_cli_server *server, php_cli_server_client *client) { … in php_cli_server_request_startup() argument
2140 php_cli_server_client_populate_request_info(client, &SG(request_info)); in php_cli_server_request_startup()
2141 …if (NULL != (auth = zend_hash_str_find_ptr(&client->request.headers, "authorization", sizeof("auth… in php_cli_server_request_startup()
2154 static int php_cli_server_request_shutdown(php_cli_server *server, php_cli_server_client *client) {… in php_cli_server_request_shutdown() argument
2156 php_cli_server_close_connection(server, client); in php_cli_server_request_shutdown()
2164 static int php_cli_server_dispatch_router(php_cli_server *server, php_cli_server_client *client) /*… in php_cli_server_dispatch_router() argument
2202 static int php_cli_server_dispatch(php_cli_server *server, php_cli_server_client *client) /* {{{ */ in php_cli_server_dispatch() argument
2205 const char *ext = client->request.ext; in php_cli_server_dispatch()
2207 SG(server_context) = client; in php_cli_server_dispatch()
2208 if (client->request.ext_len != 3 in php_cli_server_dispatch()
2210 || !client->request.path_translated) { in php_cli_server_dispatch()
2215 if (FAILURE == php_cli_server_request_startup(server, client)) { in php_cli_server_dispatch()
2216 php_cli_server_request_shutdown(server, client); in php_cli_server_dispatch()
2222 if (!php_cli_server_dispatch_router(server, client)) { in php_cli_server_dispatch()
2223 php_cli_server_request_shutdown(server, client); in php_cli_server_dispatch()
2229 if (SUCCESS == php_cli_server_dispatch_script(server, client) in php_cli_server_dispatch()
2230 || SUCCESS != php_cli_server_send_error_page(server, client, 500)) { in php_cli_server_dispatch()
2234 php_cli_server_request_shutdown(server, client); in php_cli_server_dispatch()
2250 if (SUCCESS != php_cli_server_begin_send_static(server, client)) { in php_cli_server_dispatch()
2251 php_cli_server_close_connection(server, client); in php_cli_server_dispatch()
2532 …cli_server_recv_event_read_request(php_cli_server *server, php_cli_server_client *client) /* {{{ */ in php_cli_server_recv_event_read_request() argument
2535 int status = php_cli_server_client_read_request(client, &errstr); in php_cli_server_recv_event_read_request()
2538 …if (strcmp(errstr, php_cli_server_request_error_unexpected_eof) == 0 && client->parser.state == s_… in php_cli_server_recv_event_read_request()
2540 …ut sending a request; it was probably just an unused speculative preconnection", client->addr_str); in php_cli_server_recv_event_read_request()
2542 …php_cli_server_logf(PHP_CLI_SERVER_LOG_ERROR, "%s Invalid request (%s)", client->addr_str, errstr); in php_cli_server_recv_event_read_request()
2546 php_cli_server_close_connection(server, client); in php_cli_server_recv_event_read_request()
2548 } else if (status == 1 && client->request.request_method == PHP_HTTP_NOT_IMPLEMENTED) { in php_cli_server_recv_event_read_request()
2549 return php_cli_server_send_error_page(server, client, 501); in php_cli_server_recv_event_read_request()
2551 php_cli_server_poller_remove(&server->poller, POLLIN, client->sock); in php_cli_server_recv_event_read_request()
2552 php_cli_server_dispatch(server, client); in php_cli_server_recv_event_read_request()
2554 php_cli_server_poller_add(&server->poller, POLLIN, client->sock); in php_cli_server_recv_event_read_request()
2560 static int php_cli_server_send_event(php_cli_server *server, php_cli_server_client *client) /* {{{ … in php_cli_server_send_event() argument
2562 if (client->content_sender_initialized) { in php_cli_server_send_event()
2563 if (client->file_fd >= 0 && !client->content_sender.buffer.first) { in php_cli_server_send_event()
2565 if (php_cli_server_content_sender_pull(&client->content_sender, client->file_fd, &nbytes_read)) { in php_cli_server_send_event()
2566 php_cli_server_close_connection(server, client); in php_cli_server_send_event()
2570 close(client->file_fd); in php_cli_server_send_event()
2571 client->file_fd = -1; in php_cli_server_send_event()
2576 … int err = php_cli_server_content_sender_send(&client->content_sender, client->sock, &nbytes_sent); in php_cli_server_send_event()
2578 php_cli_server_close_connection(server, client); in php_cli_server_send_event()
2582 if (!client->content_sender.buffer.first && client->file_fd < 0) { in php_cli_server_send_event()
2583 php_cli_server_close_connection(server, client); in php_cli_server_send_event()
2601 php_cli_server_client *client = NULL; in php_cli_server_do_event_for_each_fd_callback() local
2622 client = pemalloc(sizeof(php_cli_server_client), 1); in php_cli_server_do_event_for_each_fd_callback()
2623 if (FAILURE == php_cli_server_client_ctor(client, server, client_sock, sa, socklen)) { in php_cli_server_do_event_for_each_fd_callback()
2630 php_cli_server_logf(PHP_CLI_SERVER_LOG_MESSAGE, "%s Accepted", client->addr_str); in php_cli_server_do_event_for_each_fd_callback()
2632 zend_hash_index_update_ptr(&server->clients, client_sock, client); in php_cli_server_do_event_for_each_fd_callback()
2634 php_cli_server_poller_add(&server->poller, POLLIN, client->sock); in php_cli_server_do_event_for_each_fd_callback()
2636 php_cli_server_client *client; in php_cli_server_do_event_for_each_fd_callback() local
2637 if (NULL != (client = zend_hash_index_find_ptr(&server->clients, fd))) { in php_cli_server_do_event_for_each_fd_callback()
2639 params->rhandler(server, client); in php_cli_server_do_event_for_each_fd_callback()
2642 params->whandler(server, client); in php_cli_server_do_event_for_each_fd_callback()