summaryrefslogtreecommitdiffabout
path: root/include/opkele/curl.h
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/opkele/curl.h
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/opkele/curl.h') (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
@@ -4,2 +4,4 @@
#include <cassert>
+#include <string>
+#include <algorithm>
#include <curl/curl.h>
@@ -7,2 +9,4 @@
namespace opkele {
+ using std::min;
+ using std::string;
@@ -43,2 +47,22 @@ namespace opkele {
+ 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;
+
+
}