diff options
Diffstat (limited to 'indra/llmessage/llhttpclient.h')
-rw-r--r-- | indra/llmessage/llhttpclient.h | 77 |
1 files changed, 12 insertions, 65 deletions
diff --git a/indra/llmessage/llhttpclient.h b/indra/llmessage/llhttpclient.h index 1fbf0c36dc..b011761f5f 100644 --- a/indra/llmessage/llhttpclient.h +++ b/indra/llmessage/llhttpclient.h @@ -41,7 +41,7 @@ #include <boost/intrusive_ptr.hpp> #include "llassettype.h" -#include "llbuffer.h" +#include "llcurl.h" #include "lliopipe.h" extern const F32 HTTP_REQUEST_EXPIRY_SECS; @@ -54,57 +54,18 @@ class LLSD; class LLHTTPClient { public: - class Responder - { - public: - Responder(); - virtual ~Responder(); - - /** - * @brief return true if the status code indicates success. - */ - static bool isGoodStatus(U32 status) - { - return((200 <= status) && (status < 300)); - } - - virtual void error(U32 status, const std::string& reason); // called with bad status codes - - virtual void result(const LLSD& content); - - // Override point for clients that may want to use this class - // when the response is some other format besides LLSD - virtual void completedRaw( - U32 status, - const std::string& reason, - const LLChannelDescriptors& channels, - const LLIOPipe::buffer_ptr_t& buffer); - - virtual void completed( - U32 status, - const std::string& reason, - const LLSD& content); - /**< The default implemetnation calls - either: - * result(), or - * error() - */ - - // Override to handle parsing of the header only. Note: this is the only place where the contents - // of the header can be parsed. In the ::completed call above only the body is contained in the LLSD. - virtual void completedHeader(U32 status, const std::string& reason, const LLSD& content); - - public: /* but not really -- don't touch this */ - U32 mReferenceCount; - }; - - typedef boost::intrusive_ptr<Responder> ResponderPtr; - + // class Responder moved to LLCurl + + // For convenience + typedef LLCurl::Responder Responder; + typedef LLCurl::ResponderPtr ResponderPtr; + + // non-blocking static void head(const std::string& url, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); - static void get(const std::string& url, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); - static void get(const std::string& url, ResponderPtr, const LLSD& headers, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); - static void get(const std::string& url, const LLSD& query, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); - static void get(const std::string& url, const LLSD& query, ResponderPtr, const LLSD& headers, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); + static void getByteRange(const std::string& url, S32 offset, S32 bytes, ResponderPtr, const LLSD& headers=LLSD(), const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); + static void get(const std::string& url, ResponderPtr, const LLSD& headers = LLSD(), const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); + static void get(const std::string& url, const LLSD& query, ResponderPtr, const LLSD& headers = LLSD(), const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); + static void put(const std::string& url, const LLSD& body, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); static void getHeaderOnly(const std::string& url, ResponderPtr, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); static void getHeaderOnly(const std::string& url, ResponderPtr, const LLSD& headers, const F32 timeout=HTTP_REQUEST_EXPIRY_SECS); @@ -127,20 +88,6 @@ public: ///< must be called before any of the above calls are made static bool hasPump(); ///< for testing - - static void setCABundle(const std::string& caBundle); - ///< use this root CA bundle when checking SSL connections - ///< defaults to the standard system root CA bundle - ///< @see LLURLRequest::checkRootCertificate() }; - - -namespace boost -{ - void intrusive_ptr_add_ref(LLHTTPClient::Responder* p); - void intrusive_ptr_release(LLHTTPClient::Responder* p); -}; - - #endif // LL_LLHTTPCLIENT_H |