mirror of
https://github.com/curl/curl.git
synced 2026-06-05 18:44:16 +03:00
--request-target: instead of --strip-path-slash
... and CURLOPT_REQUEST_TARGET instead of CURLOPT_STRIP_PATH_SLASH. This option instead provides the full "alternative" target to use in the request, instead of extracting the path from the URL. Test 1298 and 1299 updated accordingly. Idea-by: Evert Pot Suggestion: https://daniel.haxx.se/blog/2017/06/19/options-with-curl/comment-page-1/#comment-18373 Closes #1593
This commit is contained in:
parent
8de8f4eb7e
commit
9b167fd090
20 changed files with 49 additions and 49 deletions
|
|
@ -5,7 +5,7 @@
|
|||
* | (__| |_| | _ <| |___
|
||||
* \___|\___/|_| \_\_____|
|
||||
*
|
||||
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
* Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
*
|
||||
* This software is licensed as described in the file COPYING, which
|
||||
* you should have received as part of this distribution. The terms
|
||||
|
|
@ -123,7 +123,7 @@ static void free_config_fields(struct OperationConfig *config)
|
|||
Curl_safefree(config->pubkey);
|
||||
Curl_safefree(config->hostpubmd5);
|
||||
Curl_safefree(config->engine);
|
||||
|
||||
Curl_safefree(config->request_target);
|
||||
Curl_safefree(config->customrequest);
|
||||
Curl_safefree(config->krblevel);
|
||||
|
||||
|
|
|
|||
|
|
@ -139,12 +139,12 @@ struct OperationConfig {
|
|||
bool crlf;
|
||||
char *customrequest;
|
||||
char *krblevel;
|
||||
char *request_target;
|
||||
long httpversion;
|
||||
bool nobuffer;
|
||||
bool readbusy; /* set when reading input returns EAGAIN */
|
||||
bool globoff;
|
||||
bool use_httpget;
|
||||
bool strip_path_slash;
|
||||
bool insecure_ok; /* set TRUE to allow insecure SSL connects */
|
||||
bool proxy_insecure_ok; /* set TRUE to allow insecure SSL connects
|
||||
for proxy */
|
||||
|
|
|
|||
|
|
@ -257,7 +257,7 @@ static const struct LongShort aliases[]= {
|
|||
{"Fs", "form-string", ARG_STRING},
|
||||
{"g", "globoff", ARG_BOOL},
|
||||
{"G", "get", ARG_NONE},
|
||||
{"Ga", "strip-path-slash", ARG_BOOL},
|
||||
{"Ga", "request-target", ARG_STRING},
|
||||
{"h", "help", ARG_BOOL},
|
||||
{"H", "header", ARG_STRING},
|
||||
{"Hp", "proxy-header", ARG_STRING},
|
||||
|
|
@ -1592,8 +1592,8 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
|
|||
break;
|
||||
|
||||
case 'G': /* HTTP GET */
|
||||
if(subletter == 'a') { /* --strip-path-slash */
|
||||
config->strip_path_slash = TRUE;
|
||||
if(subletter == 'a') { /* --request-target */
|
||||
GetStr(&config->request_target, nextarg);
|
||||
}
|
||||
else
|
||||
config->use_httpget = TRUE;
|
||||
|
|
|
|||
|
|
@ -160,8 +160,8 @@ static const struct helptxt helptext[] = {
|
|||
"Disable URL sequences and ranges using {} and []"},
|
||||
{"-I, --head",
|
||||
"Show document info only"},
|
||||
{"-H, --header <header>",
|
||||
"Pass custom header LINE to server"},
|
||||
{"-H, --header <header/@file>",
|
||||
"Pass custom header(s) to server"},
|
||||
{"-h, --help",
|
||||
"This help text"},
|
||||
{" --hostpubmd5 <md5>",
|
||||
|
|
@ -298,8 +298,8 @@ static const struct helptxt helptext[] = {
|
|||
"Set a CRL list for proxy"},
|
||||
{" --proxy-digest",
|
||||
"Use Digest authentication on the proxy"},
|
||||
{" --proxy-header <header>",
|
||||
"Pass custom header LINE to proxy"},
|
||||
{" --proxy-header <header/@file>",
|
||||
"Pass custom header(s) to proxy"},
|
||||
{" --proxy-insecure",
|
||||
"Do HTTPS proxy connections without verifying the proxy"},
|
||||
{" --proxy-key <key>",
|
||||
|
|
@ -352,6 +352,8 @@ static const struct helptxt helptext[] = {
|
|||
"Set the remote file's time on the local output"},
|
||||
{"-X, --request <command>",
|
||||
"Specify request command to use"},
|
||||
{" --request-target",
|
||||
"Specify the target for this request"},
|
||||
{" --resolve <host:port:address>",
|
||||
"Resolve the host+port to this address"},
|
||||
{" --retry <num>",
|
||||
|
|
@ -400,8 +402,6 @@ static const struct helptxt helptext[] = {
|
|||
"Use SSLv3"},
|
||||
{" --stderr",
|
||||
"Where to redirect stderr"},
|
||||
{" --strip-path-slash",
|
||||
"Strip off the first slash of the path"},
|
||||
{" --suppress-connect-headers",
|
||||
"Suppress proxy CONNECT response headers"},
|
||||
{" --tcp-fastopen",
|
||||
|
|
|
|||
|
|
@ -972,8 +972,7 @@ static CURLcode operate_do(struct GlobalConfig *global,
|
|||
#endif /* !CURL_DISABLE_PROXY */
|
||||
|
||||
my_setopt(curl, CURLOPT_FAILONERROR, config->failonerror?1L:0L);
|
||||
my_setopt(curl, CURLOPT_STRIP_PATH_SLASH,
|
||||
config->strip_path_slash?1L:0L);
|
||||
my_setopt(curl, CURLOPT_REQUEST_TARGET, config->request_target);
|
||||
my_setopt(curl, CURLOPT_UPLOAD, uploadfile?1L:0L);
|
||||
my_setopt(curl, CURLOPT_DIRLISTONLY, config->dirlistonly?1L:0L);
|
||||
my_setopt(curl, CURLOPT_APPEND, config->ftp_append?1L:0L);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue