summaryrefslogtreecommitdiffabout
path: root/lib/oauth-consumer.cc
Unidiff
Diffstat (limited to 'lib/oauth-consumer.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--lib/oauth-consumer.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/oauth-consumer.cc b/lib/oauth-consumer.cc
index bb4e89b..0d31ec7 100644
--- a/lib/oauth-consumer.cc
+++ b/lib/oauth-consumer.cc
@@ -130,6 +130,11 @@ namespace opkele {
130 throw exception_curl(OPKELE_CP_ "failed to set curly urlie",r); 130 throw exception_curl(OPKELE_CP_ "failed to set curly urlie",r);
131 if( (r=curl.easy_perform()) ) 131 if( (r=curl.easy_perform()) )
132 throw exception_curl(OPKELE_CP_ "failed to perform curly request",r); 132 throw exception_curl(OPKELE_CP_ "failed to perform curly request",r);
133 long response_code;
134 if( (r=curl.easy_getinfo(CURLINFO_RESPONSE_CODE,&response_code)) )
135 throw exception_curl(OPKELE_CP_ "failed to retrieve curl response code",r);
136 if(response_code!=200) /* TODO: specialize exception */
137 throw exception(OPKELE_CP_ "invalid response from the OAuth provider");
133 token_t rv; 138 token_t rv;
134 string::size_type p=0; 139 string::size_type p=0;
135 while(p!=string::npos) { 140 while(p!=string::npos) {
@@ -153,6 +158,8 @@ namespace opkele {
153 rv.secret = util::url_decode(part.substr(eq+1)); 158 rv.secret = util::url_decode(part.substr(eq+1));
154 } 159 }
155 } 160 }
161 if(rv.empty()) /* TODO: specialize */
162 throw exception(OPKELE_CP_ "failed to retrieve token from OAuth provider response");
156 return rv; 163 return rv;
157 } 164 }
158 165