summaryrefslogtreecommitdiffabout
path: root/include
authorMichael Krelin <hacker@klever.net>2007-12-16 00:36:30 (UTC)
committer Michael Krelin <hacker@klever.net>2007-12-17 12:09:16 (UTC)
commit7d8cda044fa3b428eb53ec2bfbeaa2e223114554 (patch) (side-by-side diff)
treed81fc5436f1d22276972ffed473ed8b438bfb5d9 /include
parent52c81fff0274c6bb54f6f9be414432ee6388e723 (diff)
downloadlibopkele-7d8cda044fa3b428eb53ec2bfbeaa2e223114554.zip
libopkele-7d8cda044fa3b428eb53ec2bfbeaa2e223114554.tar.gz
libopkele-7d8cda044fa3b428eb53ec2bfbeaa2e223114554.tar.bz2
moved curl_fetch_string_t/curl_pick_t classes into curl.h
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'include') (more/less context) (ignore whitespace changes)
-rw-r--r--include/opkele/curl.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/include/opkele/curl.h b/include/opkele/curl.h
index 8020b63..5cf8e48 100644
--- a/include/opkele/curl.h
+++ b/include/opkele/curl.h
@@ -2,9 +2,13 @@
#define __OPKELE_CURL_H
#include <cassert>
+#include <string>
+#include <algorithm>
#include <curl/curl.h>
namespace opkele {
+ using std::min;
+ using std::string;
namespace util {
@@ -41,6 +45,26 @@ namespace opkele {
CURLcode set_header();
};
+ template<int lim>
+ class curl_fetch_string_t : public curl_t {
+ public:
+ curl_fetch_string_t(CURL *c)
+ : curl_t(c) { }
+ ~curl_fetch_string_t() throw() { }
+
+ string response;
+
+ size_t write(void *p,size_t size,size_t nmemb) {
+ size_t bytes = size*nmemb;
+ size_t get = min(lim-response.length(),bytes);
+ response.append((const char *)p,get);
+ return get;
+ }
+ };
+
+ typedef curl_fetch_string_t<16384> curl_pick_t;
+
+
}
}