-rw-r--r-- | lib/consumer.cc | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/lib/consumer.cc b/lib/consumer.cc index 7881f5f..20f4174 100644 --- a/lib/consumer.cc +++ b/lib/consumer.cc @@ -1,15 +1,14 @@ #include <algorithm> #include <cassert> #include <cstring> #include <opkele/util.h> +#include <opkele/curl.h> #include <opkele/exception.h> #include <opkele/data.h> #include <opkele/consumer.h> #include <openssl/sha.h> #include <openssl/hmac.h> -#include <curl/curl.h> - #include <iostream> #include "config.h" @@ -61,22 +60,8 @@ namespace opkele { return pcre_exec(_p,NULL,s.c_str(),s.length(),0,0,m._ov,m._s); } }; - class curl_t { - public: - CURL *_c; - - curl_t() : _c(0) { } - curl_t(CURL *c) : _c(c) { } - ~curl_t() throw() { if(_c) curl_easy_cleanup(_c); } - - curl_t& operator=(CURL *c) { if(_c) curl_easy_cleanup(_c); _c=c; return *this; } - - operator const CURL*(void) const { return _c; } - operator CURL*(void) { return _c; } - }; - static CURLcode curl_misc_sets(CURL* c) { CURLcode r; (r=curl_easy_setopt(c,CURLOPT_FOLLOWLOCATION,1)) || (r=curl_easy_setopt(c,CURLOPT_MAXREDIRS,5)) @@ -115,9 +100,9 @@ namespace opkele { "&openid.assoc_type=HMAC-SHA1" "&openid.session_type=DH-SHA1" "&openid.dh_consumer_public="; request += util::url_encode(util::bignum_to_base64(dh->pub_key)); - curl_t curl = curl_easy_init(); + util::curl_t curl = curl_easy_init(); if(!curl) throw exception_curl(OPKELE_CP_ "failed to curl_easy_init()"); string response; CURLcode r; @@ -275,9 +260,9 @@ namespace opkele { request += '='; request += util::url_encode(i->second); } } - curl_t curl = curl_easy_init(); + util::curl_t curl = curl_easy_init(); if(!curl) throw exception_curl(OPKELE_CP_ "failed to curl_easy_init()"); string response; CURLcode r; @@ -308,9 +293,9 @@ namespace opkele { void consumer_t::retrieve_links(const string& url,string& server,string& delegate) { server.erase(); delegate.erase(); - curl_t curl = curl_easy_init(); + util::curl_t curl = curl_easy_init(); if(!curl) throw exception_curl(OPKELE_CP_ "failed to curl_easy_init()"); string html; CURLcode r; @@ -414,9 +399,9 @@ namespace opkele { } string consumer_t::canonicalize(const string& url) { string rv = normalize(url); - curl_t curl = curl_easy_init(); + util::curl_t curl = curl_easy_init(); if(!curl) throw exception_curl(OPKELE_CP_ "failed to curl_easy_init()"); string html; CURLcode r; |