From a14bbfa1ff411a4dc1b2b1935fbab4cc7f0c18f1 Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Tue, 17 Sep 2019 17:20:30 +0300 Subject: Request environmental variables were improved. --- src/request.c | 1 + src/request.h | 21 ++++++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/request.c b/src/request.c index 79388f3..8da8975 100644 --- a/src/request.c +++ b/src/request.c @@ -154,6 +154,7 @@ static int cgi_env(struct magi_request *r) ok = ok && plain_env(&r->server_port, "SERVER_PORT"); ok = ok && lower_env(&r->server_protocol, "SERVER_PROTOCOL"); ok = ok && plain_env(&r->server_software, "SERVER_SOFTWARE"); + ok = ok && plain_env(&r->path_info, "PATH_INFO"); return ok; } diff --git a/src/request.h b/src/request.h index 4957099..56513da 100644 --- a/src/request.h +++ b/src/request.h @@ -6,6 +6,24 @@ /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Request + * + * Example for enivronmental variables: + * Request: http://example.com/cgi-bin/script/foo/bar?var2=url%20enc + * method: get + * uri: /cgi-bin/script/foo/bar?var2=url%20enc + * document_root: { absolute path to root directory of domain } + * document_uri: /cgi-bin/script/foo/bar + * script_name: /cgi-bin/script + * script_filename: { absolute path to script on server machine } + * remote_addr: { client IP } + * remote_port: { client port } + * server_addr: { server IP } + * server_name: example.com + * (^ Better to use http_params["HTTP_HOST"] -- server_name can be IP too.) + * server_port: 80 + * server_protocol: http/1.1 + * server_software: { name of web server software } + * path_info: /foo/bar */ struct magi_request { struct magi_field_list *fields; @@ -23,8 +41,9 @@ struct magi_request { char *server_port; char *server_protocol; char *server_software; + char *path_info; struct magi_param_list *http_params; -}; /* http[s]://{server_name}[:{server_port}]{script_name}[?...] */ +}; /* Common Request Handling */ -- cgit v1.2.3