#define MK_CGI_POST_VARS "POST_VARS"
mk_pointer mk_cgi_document_root;
+
+/* CONTENT_ */
mk_pointer mk_cgi_content_length;
mk_pointer mk_cgi_content_type;
+
+/* SERVER_ */
mk_pointer mk_cgi_server_addr;
mk_pointer mk_cgi_server_port;
mk_pointer mk_cgi_server_name;
mk_pointer mk_cgi_server_protocol;
mk_pointer mk_cgi_server_software;
mk_pointer mk_cgi_server_signature;
+
+/* HTTP_ */
mk_pointer mk_cgi_http_user_agent;
mk_pointer mk_cgi_http_accept;
mk_pointer mk_cgi_http_accept_charset;
mk_pointer mk_cgi_http_host;
mk_pointer mk_cgi_http_cookie;
mk_pointer mk_cgi_http_referer;
+
mk_pointer mk_cgi_cgi_version;
mk_pointer mk_cgi_gateway_interface;
mk_pointer mk_cgi_remote_addr;
MK_IOV_NOT_FREE_BUF);
// mk_palm_iov_add_header(iov, mk_cgi_server_addr, mk_api->config->server_addr);
+ mk_palm_iov_add_header(iov, mk_cgi_server_port, mk_api->config->port);
mk_palm_iov_add_header(iov, mk_cgi_server_name, sr->host);
mk_palm_iov_add_header(iov, mk_cgi_server_protocol, mk_monkey_protocol);
mk_palm_iov_add_header(iov, mk_cgi_server_software,
mk_palm_iov_add_header(iov, mk_cgi_http_accept_language,
sr->accept_language);
- if (sr->host.data)
- mk_palm_iov_add_header(iov, mk_cgi_http_host, sr->host);
-
+ if (sr->host.data) {
+ if (sr->port != mk_api->config->standard_port) {
+ mk_palm_iov_add_header(iov, mk_cgi_http_host, sr->host_port);
+ }
+ else {
+ mk_palm_iov_add_header(iov, mk_cgi_http_host, sr->host);
+ }
+ }
if (sr->cookies.data)
mk_palm_iov_add_header(iov, mk_cgi_http_cookie, sr->cookies);
if (sr->referer.data)
mk_palm_iov_add_header(iov, mk_cgi_http_referer, sr->referer);
- mk_palm_iov_add_header(iov, mk_cgi_server_port, mk_api->config->port);
mk_palm_iov_add_header(iov, mk_cgi_gateway_interface, mk_cgi_version);
//mk_palm_iov_add_header(iov, mk_cgi_remote_addr, cr->ip);
mk_palm_iov_add_header(iov, mk_cgi_request_uri, sr->uri);
if (host.data) {
if ((pos_sep = mk_string_char_search(host.data, ':', host.len)) >= 0) {
+ /* just the host */
sr->host.data = host.data;
sr->host.len = pos_sep;
+ /* including the port */
+ sr->host_port = host;
+
port = mk_string_copy_substr(host.data, pos_sep + 1, host.len);
sr->port = atoi(port);
mk_mem_free(port);