--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:
Daniel Stenberg 2017-06-21 23:35:08 +02:00
parent 8de8f4eb7e
commit 9b167fd090
20 changed files with 49 additions and 49 deletions

View file

@ -2269,8 +2269,8 @@ CURLcode Curl_http(struct connectdata *conn, bool *done)
if(result)
return result;
if(data->set.strip_path_slash)
ppath++;
if(data->set.str[STRING_TARGET])
ppath = data->set.str[STRING_TARGET];
/* url */
if(paste_ftp_userpwd)

View file

@ -829,9 +829,9 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
then this can be changed to HEAD later on) */
data->set.httpreq = HTTPREQ_GET;
break;
case CURLOPT_STRIP_PATH_SLASH:
arg = va_arg(param, long);
data->set.strip_path_slash = (bool)arg;
case CURLOPT_REQUEST_TARGET:
result = setstropt(&data->set.str[STRING_TARGET],
va_arg(param, char *));
break;
case CURLOPT_FILETIME:
/*

View file

@ -1588,7 +1588,7 @@ enum dupstring {
#ifdef USE_UNIX_SOCKETS
STRING_UNIX_SOCKET_PATH, /* path to Unix socket, if used */
#endif
STRING_TARGET, /* CURLOPT_REQUEST_TARGET */
/* -- end of zero-terminated strings -- */
STRING_LASTZEROTERMINATED,