summaryrefslogtreecommitdiff
path: root/indra/llmessage/llhttpclient.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llmessage/llhttpclient.h')
-rw-r--r--indra/llmessage/llhttpclient.h77
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