Let curl follow redirects by default.
Turns out that the only responders that want to get the redirect status codes themselves are the ones that already had a redirect_status_ok() exception.
This commit is contained in:
@@ -103,7 +103,7 @@ class LLIamHereVoice : public LLHTTPClient::ResponderWithResult
|
||||
};
|
||||
|
||||
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return iamHereVoice_timeout; }
|
||||
/*virtual*/ bool redirect_status_ok(void) const { return true; }
|
||||
/*virtual*/ bool pass_redirect_status(void) const { return true; }
|
||||
/*virtual*/ char const* getName(void) const { return "LLIamHereVoice"; }
|
||||
};
|
||||
|
||||
|
||||
@@ -131,7 +131,7 @@ class LLIamHere : public LLHTTPClient::ResponderWithResult
|
||||
};
|
||||
|
||||
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return iamHere_timeout; }
|
||||
/*virtual*/ bool redirect_status_ok(void) const { return true; }
|
||||
/*virtual*/ bool pass_redirect_status(void) const { return true; }
|
||||
/*virtual*/ char const* getName(void) const { return "LLIamHere"; }
|
||||
};
|
||||
|
||||
|
||||
@@ -201,7 +201,6 @@ namespace LLMarketplaceImport
|
||||
class LLImportGetResponder : public LLHTTPClient::ResponderWithCompleted
|
||||
{
|
||||
public:
|
||||
/*virtual*/ bool followRedir(void) const { return true; }
|
||||
/*virtual*/ bool needsHeaders(void) const { return true; }
|
||||
|
||||
/*virtual*/ void completedHeaders(U32 status, std::string const& reason, AIHTTPReceivedHeaders const& headers)
|
||||
|
||||
@@ -165,7 +165,6 @@ public:
|
||||
|
||||
/*virtual*/ void result(const LLSD &pContent);
|
||||
/*virtual*/ void error(U32 pStatus, const std::string& pReason);
|
||||
/*virtual*/ bool followRedir(void) const { return true; }
|
||||
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return agentStateResponder_timeout; }
|
||||
/*virtual*/ char const* getName(void) const { return "AgentStateResponder"; }
|
||||
|
||||
|
||||
@@ -328,13 +328,12 @@ class HTTPGetResponder : public LLHTTPClient::ResponderWithCompleted
|
||||
{
|
||||
LOG_CLASS(HTTPGetResponder);
|
||||
public:
|
||||
HTTPGetResponder(LLTextureFetch* fetcher, const LLUUID& id, U64 startTime, S32 requestedSize, U32 offset, bool redir)
|
||||
HTTPGetResponder(LLTextureFetch* fetcher, const LLUUID& id, U64 startTime, S32 requestedSize, U32 offset)
|
||||
: mFetcher(fetcher)
|
||||
, mID(id)
|
||||
, mMetricsStartTime(startTime)
|
||||
, mRequestedSize(requestedSize)
|
||||
, mRequestedOffset(offset)
|
||||
, mFollowRedir(redir)
|
||||
, mReplyOffset(0)
|
||||
, mReplyLength(0)
|
||||
, mReplyFullLength(0)
|
||||
@@ -449,7 +448,6 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
/*virtual*/ bool followRedir() const { return mFollowRedir; }
|
||||
/*virtual*/ AICapabilityType capability_type(void) const { return cap_texture; }
|
||||
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return HTTPGetResponder_timeout; }
|
||||
/*virtual*/ char const* getName(void) const { return "HTTPGetResponder"; }
|
||||
@@ -464,8 +462,6 @@ private:
|
||||
U32 mReplyOffset;
|
||||
U32 mReplyLength;
|
||||
U32 mReplyFullLength;
|
||||
|
||||
bool mFollowRedir;
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
@@ -1423,7 +1419,7 @@ bool LLTextureFetchWorker::doWork(S32 param)
|
||||
headers.addHeader("Range", llformat("bytes=%d-%d", mRequestedOffset, mRequestedOffset + mRequestedSize - 1));
|
||||
}
|
||||
LLHTTPClient::request(mUrl, LLHTTPClient::HTTP_GET, NULL,
|
||||
new HTTPGetResponder(mFetcher, mID, LLTimer::getTotalTime(), mRequestedSize, mRequestedOffset, true),
|
||||
new HTTPGetResponder(mFetcher, mID, LLTimer::getTotalTime(), mRequestedSize, mRequestedOffset),
|
||||
headers, approved/*,*/ DEBUG_CURLIO_PARAM(debug_off), keep_alive, no_does_authentication, allow_compressed_reply, NULL, 0, NULL);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -304,7 +304,6 @@ public:
|
||||
LLViewerMediaWebProfileResponder(std::string host) : mHost(host) { }
|
||||
~LLViewerMediaWebProfileResponder() { }
|
||||
|
||||
/*virtual*/ bool followRedir(void) const { return true; }
|
||||
/*virtual*/ bool needsHeaders(void) const { return true; }
|
||||
|
||||
/*virtual*/ void completedHeaders(U32 status, std::string const& reason, AIHTTPReceivedHeaders const& headers)
|
||||
|
||||
@@ -120,7 +120,6 @@ public:
|
||||
|
||||
protected:
|
||||
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return webProfileResponders_timeout; }
|
||||
/*virtual*/ bool followRedir(void) const { return true; }
|
||||
/*virtual*/ char const* getName(void) const { return "LLWebProfileResponders::ConfigResponder"; }
|
||||
|
||||
private:
|
||||
@@ -157,7 +156,6 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
/*virtual*/ bool followRedir(void) const { return true; }
|
||||
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return webProfileResponders_timeout; }
|
||||
/*virtual*/ char const* getName(void) const { return "LLWebProfileResponders::PostImageRedirectResponder"; }
|
||||
|
||||
@@ -181,7 +179,7 @@ public:
|
||||
// the just uploaded data, which fails
|
||||
// (CURLE_SEND_FAIL_REWIND: Send failed since rewinding of the data stream failed).
|
||||
// Handle it manually.
|
||||
if (status == 303)
|
||||
if (status == HTTP_SEE_OTHER)
|
||||
{
|
||||
AIHTTPHeaders headers;
|
||||
headers.addHeader("Accept", "*/*");
|
||||
@@ -208,7 +206,7 @@ public:
|
||||
}
|
||||
|
||||
protected:
|
||||
/*virtual*/ bool redirect_status_ok(void) const { return true; }
|
||||
/*virtual*/ bool pass_redirect_status(void) const { return true; }
|
||||
/*virtual*/ AIHTTPTimeoutPolicy const& getHTTPTimeoutPolicy(void) const { return webProfileResponders_timeout; }
|
||||
/*virtual*/ char const* getName(void) const { return "LLWebProfileResponders::PostImageResponder"; }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user