-rw-r--r-- | include/opkele/oauth/consumer.h | 14 | ||||
-rw-r--r-- | lib/oauth-consumer.cc | 18 |
2 files changed, 25 insertions, 7 deletions
diff --git a/include/opkele/oauth/consumer.h b/include/opkele/oauth/consumer.h index 9196297..eb4f753 100644 --- a/include/opkele/oauth/consumer.h +++ b/include/opkele/oauth/consumer.h | |||
@@ -12,5 +12,6 @@ namespace opkele { | |||
12 | 12 | ||
13 | enum oauth_method_t { | 13 | enum oauth_method_t { |
14 | oauth_auth_header, oauth_post_body, oauth_url_query | 14 | oauth_auth_header, oauth_post_body, oauth_url_query, |
15 | oauth_method_default = oauth_auth_header | ||
15 | }; | 16 | }; |
16 | 17 | ||
@@ -20,5 +21,6 @@ namespace opkele { | |||
20 | oauth_method_t oauth_method; | 21 | oauth_method_t oauth_method; |
21 | 22 | ||
22 | service_endpoint_t(const string& u,const string& sm,oauth_method_t om) | 23 | service_endpoint_t() : oauth_method(oauth_method_default) { } |
24 | service_endpoint_t(const string& u,const string& sm,oauth_method_t om=oauth_method_default) | ||
23 | : url(u), signature_method(sm), oauth_method(om) { } | 25 | : url(u), signature_method(sm), oauth_method(om) { } |
24 | }; | 26 | }; |
@@ -66,14 +68,18 @@ namespace opkele { | |||
66 | token_t get_access_token(const token_t& rt); | 68 | token_t get_access_token(const token_t& rt); |
67 | 69 | ||
68 | void prepare_request( | 70 | http_request_t& prepare_request( |
69 | http_request_t& req, | 71 | http_request_t& req, |
70 | const basic_fields& qf,const basic_fields& pf, | 72 | const basic_fields& qf,const basic_fields& pf, |
71 | oauth_method_t om,const string& sm, | 73 | oauth_method_t om,const string& sm, |
72 | const token_t *t=0,const string& realm=""); | 74 | const token_t *t=0,const string& realm=""); |
73 | void prepare_request( | 75 | http_request_t& prepare_request( |
74 | http_request_t& req, | 76 | http_request_t& req, |
75 | const basic_fields& qf,const basic_fields& pf, | 77 | const basic_fields& qf,const basic_fields& pf, |
76 | const service_endpoint_t& sep, | 78 | const service_endpoint_t& sep, |
77 | const token_t *t=0,const string& realm=""); | 79 | const token_t *t=0,const string& realm=""); |
80 | http_request_t& prepare_request( | ||
81 | http_request_t& req, | ||
82 | const basic_fields& qf,const basic_fields& pf, | ||
83 | const token_t *t=0,const string& realm=""); | ||
78 | 84 | ||
79 | const string signature( | 85 | const string signature( |
diff --git a/lib/oauth-consumer.cc b/lib/oauth-consumer.cc index 0c4c9e3..bb4e89b 100644 --- a/lib/oauth-consumer.cc +++ b/lib/oauth-consumer.cc | |||
@@ -157,5 +157,5 @@ namespace opkele { | |||
157 | } | 157 | } |
158 | 158 | ||
159 | void basic_consumer::prepare_request( | 159 | http_request_t& basic_consumer::prepare_request( |
160 | http_request_t& req, | 160 | http_request_t& req, |
161 | const basic_fields& qf,const basic_fields& pf, | 161 | const basic_fields& qf,const basic_fields& pf, |
@@ -210,12 +210,13 @@ namespace opkele { | |||
210 | throw opkele::exception(OPKELE_CP_ /* TODO: specialize */ | 210 | throw opkele::exception(OPKELE_CP_ /* TODO: specialize */ |
211 | "Unknown oauth method"); | 211 | "Unknown oauth method"); |
212 | return req; | ||
212 | } | 213 | } |
213 | 214 | ||
214 | void basic_consumer::prepare_request( | 215 | http_request_t& basic_consumer::prepare_request( |
215 | http_request_t& req, | 216 | http_request_t& req, |
216 | const basic_fields& qf,const basic_fields& pf, | 217 | const basic_fields& qf,const basic_fields& pf, |
217 | const service_endpoint_t& sep, | 218 | const service_endpoint_t& sep, |
218 | const token_t *t,const string& realm) { | 219 | const token_t *t,const string& realm) { |
219 | prepare_request( | 220 | return prepare_request( |
220 | req, qf, pf, | 221 | req, qf, pf, |
221 | sep.oauth_method,sep.signature_method, | 222 | sep.oauth_method,sep.signature_method, |
@@ -223,4 +224,15 @@ namespace opkele { | |||
223 | } | 224 | } |
224 | 225 | ||
226 | http_request_t& basic_consumer::prepare_request( | ||
227 | http_request_t& req, | ||
228 | const basic_fields& qf,const basic_fields& pf, | ||
229 | const token_t *t,const string& realm) { | ||
230 | service_endpoint_t sep; | ||
231 | return prepare_request( | ||
232 | req, qf, pf, | ||
233 | get_endpoints().get_url_endpoint(sep,req.url), | ||
234 | t, realm ); | ||
235 | } | ||
236 | |||
225 | void http_request_t::setup_curl(CURL *curl) { | 237 | void http_request_t::setup_curl(CURL *curl) { |
226 | CURLcode r; | 238 | CURLcode r; |