Loading src/http.cpp +21 −1 Original line number Diff line number Diff line Loading @@ -2967,6 +2967,7 @@ const std::vector<char> libhttppp::HttpClient::Put(libhttppp::HttpRequest &nreq, const std::vector<char> &put, size_t maxTries) { size_t tries = 0; int redirects = 0; for (;;) { try { _ensureConnected(); Loading Loading @@ -3007,7 +3008,26 @@ const std::vector<char> libhttppp::HttpClient::Put(libhttppp::HttpRequest &nreq, _sendAll(combined.data(), combined.size()); } return _h1ReadResponse("PUT"); auto ret = _h1ReadResponse("PUT"); if (_lastStatusCode >= 301 && _lastStatusCode <= 308 && _lastStatusCode != 304 && _lastStatusCode != 305 && !_lastLocation.empty() && redirects < MAX_REDIRECTS) { ++redirects; if (_lastLocation.find("://") != std::string::npos) { _url = HttpUrl(_lastLocation); resetConnection(); } nreq.setRequestURL(_lastLocation.find("://") != std::string::npos ? _url.getPath() : _lastLocation); if (_lastStatusCode == 303) { nreq.setRequestType(GETREQUEST); } continue; } return ret; } catch (netplus::NetException &e) { ++tries; Loading Loading
src/http.cpp +21 −1 Original line number Diff line number Diff line Loading @@ -2967,6 +2967,7 @@ const std::vector<char> libhttppp::HttpClient::Put(libhttppp::HttpRequest &nreq, const std::vector<char> &put, size_t maxTries) { size_t tries = 0; int redirects = 0; for (;;) { try { _ensureConnected(); Loading Loading @@ -3007,7 +3008,26 @@ const std::vector<char> libhttppp::HttpClient::Put(libhttppp::HttpRequest &nreq, _sendAll(combined.data(), combined.size()); } return _h1ReadResponse("PUT"); auto ret = _h1ReadResponse("PUT"); if (_lastStatusCode >= 301 && _lastStatusCode <= 308 && _lastStatusCode != 304 && _lastStatusCode != 305 && !_lastLocation.empty() && redirects < MAX_REDIRECTS) { ++redirects; if (_lastLocation.find("://") != std::string::npos) { _url = HttpUrl(_lastLocation); resetConnection(); } nreq.setRequestURL(_lastLocation.find("://") != std::string::npos ? _url.getPath() : _lastLocation); if (_lastStatusCode == 303) { nreq.setRequestType(GETREQUEST); } continue; } return ret; } catch (netplus::NetException &e) { ++tries; Loading