D web apps: cgi.d now supports scgi

Adam D. Ruppe destructionator at gmail.com
Sun Mar 25 13:40:58 PDT 2012


On Sunday, 25 March 2012 at 19:37:12 UTC, dnewbie wrote:
> This is what I was looking for. Rock'n'roll!!

BTW I tried to keep Session simple, and there's some
doc comments, but the basic usage is as simple as:

// loads the session, or creates a new one if needed
auto session = new Session(cgi);

// it does NOT auto save, so you want to call
// session.commit() when you're done.
// scope(exit) makes that easy.
scope(exit) session.commit();

bool checkLogin() {
     if(session.hasKey("user_id")) { // see if a key is set
        // the user is logged in
        string uid = session.user_id; // can get data via 
opDispatch
        return true;
     }
     return false;
}

void logout() {
     session.invalidate(); // clears and deletes the session
}

void login() {
     session.invalidate(); // kill the guest session
     session.user_id = uid; // save the user id in the session via 
opDispatch
}




If you use web.d's FancyMain, it creates a session for
you, so your ApiProvider class already has a session
member you can tap right into.


import web.d;
class MySite : ApiProvider {
    void something () {
          session.cool = "something"; // works
    }
}
mixin FancyMain!MySite;


More information about the Digitalmars-d-announce mailing list