From 4f245967cb241021844b678e75ff48c6783113d3 Mon Sep 17 00:00:00 2001 From: jsdelfino Date: Mon, 20 Feb 2012 07:20:22 +0000 Subject: Optimize server modules a bit. Pass individual config elements instead of the whole server config. Load target composite once into the request. Enable loading of shared component implementations from the main contribution. git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1291134 13f79535-47bb-0310-9956-ffa450edef68 --- sca-cpp/trunk/modules/oauth/mod-oauth1.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'sca-cpp/trunk/modules/oauth/mod-oauth1.cpp') diff --git a/sca-cpp/trunk/modules/oauth/mod-oauth1.cpp b/sca-cpp/trunk/modules/oauth/mod-oauth1.cpp index 833dfc96c5..1276ea4855 100644 --- a/sca-cpp/trunk/modules/oauth/mod-oauth1.cpp +++ b/sca-cpp/trunk/modules/oauth/mod-oauth1.cpp @@ -172,7 +172,7 @@ const list sign(const string& verb, const string& uri, const list /** * Handle an authorize request. */ -const failable authorize(const list >& args, request_rec* r, const ServerConf& sc) { +const failable authorize(const list >& args, request_rec* r, const list >& appkeys, const memcache::MemCached& mc) { // Extract authorize, access_token, client ID and info URIs const list req = assoc("mod_oauth1_request_token", args); if (isNil(req) || isNil(cdr(req))) @@ -196,7 +196,7 @@ const failable authorize(const list >& args, request_rec* r, co debug(redir, "modoauth1::authorize::redir"); // Lookup client app configuration - const list app = assoc(cadr(cid), sc.appkeys); + const list app = assoc(cadr(cid), appkeys); if (isNil(app) || isNil(cdr(app))) return mkfailure(string("client id not found: ") + cadr(cid)); list appkey = cadr(app); @@ -230,7 +230,7 @@ const failable authorize(const list >& args, request_rec* r, co return mkfailure("Couldn't retrieve oauth_token_secret"); // Store the request token in memcached - const failable prc = memcache::put(mklist("tuscanyOAuth1Token", cadr(tv)), cadr(sv), sc.mc); + const failable prc = memcache::put(mklist("tuscanyOAuth1Token", cadr(tv)), cadr(sv), mc); if (!hasContent(prc)) return mkfailure(reason(prc)); @@ -294,7 +294,7 @@ const failable > profileUserInfo(const value& cid, const string& inf /** * Handle an access_token request. */ -const failable access_token(const list >& args, request_rec* r, const ServerConf& sc) { +const failable accessToken(const list >& args, request_rec* r, const list >& appkeys, const memcache::MemCached& mc) { // Extract access_token URI, client ID and verification code const list tok = assoc("mod_oauth1_access_token", args); if (isNil(tok) || isNil(cdr(tok))) @@ -313,13 +313,13 @@ const failable access_token(const list >& args, request_rec* r, return mkfailure("Missing oauth_verifier parameter"); // Lookup client app configuration - const list app = assoc(cadr(cid), sc.appkeys); + const list app = assoc(cadr(cid), appkeys); if (isNil(app) || isNil(cdr(app))) return mkfailure(string("client id not found: ") + cadr(cid)); list appkey = cadr(app); // Retrieve the request token from memcached - const failable sv = memcache::get(mklist("tuscanyOAuth1Token", cadr(tv)), sc.mc); + const failable sv = memcache::get(mklist("tuscanyOAuth1Token", cadr(tv)), mc); if (!hasContent(sv)) return mkfailure(reason(sv)); @@ -372,7 +372,7 @@ const failable access_token(const list >& args, request_rec* r, // Store user info in memcached keyed by session ID const value sid = string("OAuth1_") + mkrand(); - const failable prc = memcache::put(mklist("tuscanyOpenAuth", sid), content(iv), sc.mc); + const failable prc = memcache::put(mklist("tuscanyOpenAuth", sid), content(iv), mc); if (!hasContent(prc)) return mkfailure(reason(prc)); @@ -433,13 +433,13 @@ static int checkAuthn(request_rec *r) { // Handle OAuth authorize request step if (step == "authorize") { r->ap_auth_type = const_cast(atype); - return httpd::reportStatus(authorize(args, r, sc)); + return httpd::reportStatus(authorize(args, r, sc.appkeys, sc.mc)); } // Handle OAuth access_token request step if (step == "access_token") { r->ap_auth_type = const_cast(atype); - return httpd::reportStatus(access_token(args, r, sc)); + return httpd::reportStatus(accessToken(args, r, sc.appkeys, sc.mc)); } // Redirect to the login page -- cgit v1.2.3