bool raw;
bool post301;
bool post302;
+ bool post303;
bool nokeepalive; /* for keepalive needs */
long alivetime;
bool content_disposition; /* use Content-disposition filename */
{"$F", "resolve", TRUE},
{"$G", "delegation", TRUE},
{"$H", "mail-auth", TRUE},
+ {"$I", "post303", FALSE},
{"0", "http1.0", FALSE},
{"1", "tlsv1", FALSE},
{"2", "sslv2", FALSE},
case '4': /* --post302 */
config->post302 = toggle;
break;
+ case 'I': /* --post303 */
+ config->post303 = toggle;
+ break;
case '5': /* --noproxy */
/* This specifies the noproxy list */
GetStr(&config->noproxy, nextarg);
"Do not switch to GET after following a 301 redirect (H)",
" --post302 "
"Do not switch to GET after following a 302 redirect (H)",
+ " --post303 "
+ "Do not switch to GET after following a 303 redirect (H)",
" -#, --progress-bar Display transfer progress as a progress bar",
" --proto PROTOCOLS Enable/disable specified protocols",
" --proto-redir PROTOCOLS "
if(config->authtype)
my_setopt_flags(curl, CURLOPT_HTTPAUTH, config->authtype);
- /* curl 7.19.1 (the 301 version existed in 7.18.2) */
- my_setopt(curl, CURLOPT_POSTREDIR, config->post301 |
- (config->post302 ? CURL_REDIR_POST_302 : FALSE));
+ /* curl 7.19.1 (the 301 version existed in 7.18.2),
+ 303 was added in 7.26.0 */
+ my_setopt(curl, CURLOPT_POSTREDIR,
+ (config->post301 ? CURL_REDIR_POST_301 : 0) |
+ (config->post302 ? CURL_REDIR_POST_302 : 0) |
+ (config->post303 ? CURL_REDIR_POST_303 : 0));
/* new in libcurl 7.21.6 */
if(config->encoding)