conn->output_locked = FALSE;
conn->peer->no_payload_sync = TRUE;
http_client_request_retry_response(req, &response);
-
- } else if (response.status / 100 == 3 && response.status != 304 &&
+
+ } else if (!req->client->set.no_auto_redirect &&
+ response.status / 100 == 3 && response.status != 304 &&
response.location != NULL) {
/* redirect */
http_client_request_redirect(req, response.status, response.location);
client->set.max_pipelined_requests =
(set->max_pipelined_requests > 0 ? set->max_pipelined_requests : 1);
client->set.max_attempts = set->max_attempts;
+ client->set.no_auto_redirect = set->no_auto_redirect;
client->set.max_redirects = set->max_redirects;
client->set.response_hdr_limits = set->response_hdr_limits;
client->set.request_timeout_msecs = set->request_timeout_msecs;
/* maximum number of pipelined requests per connection (default = 1) */
unsigned int max_pipelined_requests;
+ /* don't automatically act upon redirect responses */
+ bool no_auto_redirect;
+
/* maximum number of redirects for a request
(default = 0; redirects refused)
*/