if((data->state.httpreq == HTTPREQ_POST ||
data->state.httpreq == HTTPREQ_POST_FORM ||
data->state.httpreq == HTTPREQ_POST_MIME) &&
- !(data->set.keep_post & CURL_REDIR_POST_301)) {
+ !data->set.post301) {
http_switch_to_get(data, 301);
switch_to_get = TRUE;
}
if((data->state.httpreq == HTTPREQ_POST ||
data->state.httpreq == HTTPREQ_POST_FORM ||
data->state.httpreq == HTTPREQ_POST_MIME) &&
- !(data->set.keep_post & CURL_REDIR_POST_302)) {
+ !data->set.post302) {
http_switch_to_get(data, 302);
switch_to_get = TRUE;
}
((data->state.httpreq != HTTPREQ_POST &&
data->state.httpreq != HTTPREQ_POST_FORM &&
data->state.httpreq != HTTPREQ_POST_MIME) ||
- !(data->set.keep_post & CURL_REDIR_POST_303))) {
+ !data->set.post303)) {
http_switch_to_get(data, 303);
switch_to_get = TRUE;
}
/* no return error on too high numbers since the bitmask could be
extended in a future */
return CURLE_BAD_FUNCTION_ARGUMENT;
- s->keep_post = arg & CURL_REDIR_POST_ALL;
+ s->post301 = !!(arg & CURL_REDIR_POST_301);
+ s->post302 = !!(arg & CURL_REDIR_POST_302);
+ s->post303 = !!(arg & CURL_REDIR_POST_303);
break;
case CURLOPT_HEADEROPT:
*/
uint8_t ftp_create_missing_dirs;
#endif
- uint8_t use_ssl; /* if AUTH TLS is to be attempted etc, for FTP or
- IMAP or POP3 or others! (type: curl_usessl)*/
- char keep_post; /* keep POSTs as POSTs after a 30x request; each
- bit represents a request, from 301 to 303 */
+ uint8_t use_ssl; /* if AUTH TLS is to be attempted etc, for FTP or IMAP or
+ POP3 or others! (type: curl_usessl)*/
uint8_t timecondition; /* kind of time comparison: curl_TimeCond */
uint8_t method; /* what kind of HTTP request: Curl_HttpReq */
uint8_t httpwant; /* when non-zero, a specific HTTP version requested
BIT(ws_raw_mode);
BIT(ws_no_auto_pong);
#endif
+ BIT(post301); /* keep POSTs as POSTs after a 301 request */
+ BIT(post302); /* keep POSTs as POSTs after a 302 request */
+ BIT(post303); /* keep POSTs as POSTs after a 303 request */
};
#ifndef CURL_DISABLE_MIME