summaryrefslogtreecommitdiffabout
path: root/test/RP.cc
Side-by-side diff
Diffstat (limited to 'test/RP.cc') (more/less context) (ignore whitespace changes)
-rw-r--r--test/RP.cc28
1 files changed, 0 insertions, 28 deletions
diff --git a/test/RP.cc b/test/RP.cc
index 99a792c..813b9b7 100644
--- a/test/RP.cc
+++ b/test/RP.cc
@@ -206,124 +206,96 @@ class example_rp_t : public opkele::prequeue_RP {
as_id,ordinal++,
ep.uri.c_str(),ep.claimed_id.c_str(),ep.local_id.c_str());
db.exec(S);
}
mutable openid_endpoint_t eqtop;
mutable bool have_eqtop;
const openid_endpoint_t& get_endpoint() const {
assert(as_id>=0);
if(!have_eqtop) {
sqlite3_mem_t<char*>
S = sqlite3_mprintf(
"SELECT"
" eq_uri, eq_claimed_id, eq_local_id"
" FROM endpoints_queue"
" JOIN auth_sessions USING(as_id)"
" WHERE hts_id=%Q AND as_id=%ld"
" ORDER BY eq_ctime,eq_ordinal"
" LIMIT 1",htc.get_value().c_str(),as_id);
sqlite3_table_t T; int nr,nc;
db.get_table(S,T,&nr,&nc);
if(nr<1)
throw opkele::exception(OPKELE_CP_ "No more endpoints queued");
assert(nr==1); assert(nc==3);
eqtop.uri = T.get(1,0,nc);
eqtop.claimed_id = T.get(1,1,nc);
eqtop.local_id = T.get(1,2,nc);
have_eqtop = true;
}
return eqtop;
}
void next_endpoint() {
assert(as_id>=0);
get_endpoint();
have_eqtop = false;
sqlite3_mem_t<char*> S = sqlite3_mprintf(
"DELETE FROM endpoints_queue"
" WHERE as_id=%ld AND eq_uri=%Q AND eq_local_id=%Q",
htc.get_value().c_str(),as_id,
eqtop.uri.c_str());
db.exec(S);
}
mutable string _cid;
mutable string _nid;
- void set_claimed_id(const string& cid) {
- assert(as_id>=0);
- sqlite3_mem_t<char*> S = sqlite3_mprintf(
- "UPDATE auth_sessions"
- " SET as_claimed_id=%Q"
- " WHERE hts_id=%Q and as_id=%ld",
- cid.c_str(),
- htc.get_value().c_str(),as_id);
- db.exec(S);
- _cid = cid;
- }
- const string get_claimed_id() const {
- assert(as_id>=0);
- if(_cid.empty()) {
- sqlite3_mem_t<char*> S = sqlite3_mprintf(
- "SELECT as_claimed_id"
- " FROM"
- " auth_sessions"
- " WHERE"
- " hts_id=%Q AND as_id=%ld",
- htc.get_value().c_str(),as_id);
- sqlite3_table_t T; int nr,nc;
- db.get_table(S,T,&nr,&nc);
- assert(nr==1); assert(nc==1);
- _cid = T.get(1,0,nc);
- }
- return _cid;
- }
void set_normalized_id(const string& nid) {
assert(as_id>=0);
sqlite3_mem_t<char*> S = sqlite3_mprintf(
"UPDATE auth_sessions"
" SET as_normalized_id=%Q"
" WHERE hts_id=%Q and as_id=%ld",
nid.c_str(),
htc.get_value().c_str(),as_id);
db.exec(S);
_nid = nid;
}
const string get_normalized_id() const {
assert(as_id>=0);
if(_nid.empty()) {
sqlite3_mem_t<char*> S = sqlite3_mprintf(
"SELECT as_normalized_id"
" FROM"
" auth_sessions"
" WHERE"
" hts_id=%Q AND as_id=%ld",
htc.get_value().c_str(),as_id);
sqlite3_table_t T; int nr,nc;
db.get_table(S,T,&nr,&nc);
assert(nr==1); assert(nc==1);
_nid = T.get(1,0,nc);
}
return _nid;
}
const string get_this_url() const {
bool s = gw.has_meta("SSL_PROTOCOL_VERSION");
string rv = s?"https://":"http://";
rv += gw.http_request_header("Host");
const string& port = gw.get_meta("SERVER_PORT");
if( port!=(s?"443":"80") ) {
rv += ':'; rv += port;
}
rv += gw.get_meta("REQUEST_URI");
return rv;
}
void initiate(const string& usi) {
allocate_asid();
prequeue_RP::initiate(usi);
}
string get_self_url() const {
string rv = get_this_url();