Changeset 21106

Show
Ignore:
Timestamp:
10/11/08 09:29:59 (3 months ago)
Author:
tokuhirom
Message:

- fixed escape method
- some refactoring

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/cplusplus/llv8call/trunk/examples/wiki/wiki.js

    r20668 r21106  
    11v8ext.LoadBinary("org.coderepos.shttpd"); 
    22v8ext.LoadBinary("org.coderepos.clearsilver"); 
    3 v8ext.LoadBinary("org.coderepos.memcached"); 
     3v8ext.LoadBinary("org.coderepos.memcached", 'Memcached'); 
    44var clearsilver = org.coderepos.clearsilver; 
    5 var memcached = org.coderepos.memcached; 
    65var SHTTPD = org.coderepos.shttpd.SHTTPD; 
     6 
     7String.prototype.escapeHTML = function () { 
     8    return this.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;"); 
     9} 
    710 
    811function output(r, tmplpath, vars) { 
     
    1013        var hdf = new clearsilver.HDF(); 
    1114        for (key in vars) { 
    12             hdf.SetValue(key, escape(vars[key])); 
     15            hdf.SetValue(key, vars[key].escapeHTML()); 
    1316        } 
    1417        var cs = new clearsilver.CS(hdf); 
     
    2730function redirect(r, uri) { 
    2831    // FIXME: abs uri 
     32    puts("REDIRECT TO: " + uri); 
    2933    r.Print("HTTP/1.1 302 REDIRECT\r\nLocation: " + uri + "\r\n\r\n"); 
    3034    r.SetFlags(SHTTPD.END_OF_OUTPUT); 
    3135} 
    3236 
    33 var memd = new memcached.Memcached; 
     37var memd = new Memcached(); 
    3438memd.ServerAdd('127.0.0.1', 11211); 
    3539var httpd = new SHTTPD(8080); 
     
    4448        if (body && body.length != 0) { 
    4549            key = Math.random().toString(); 
    46             memd.Set(key, encodeURIComponent(body), 0, 0); 
     50            memd.Set(key, body, 0, 0); 
    4751            redirect(r, "/show?k=" + encodeURIComponent(key)); 
    4852        } else { 
     
    5458    var key = r.GetVar("k"); 
    5559    if (key) { 
    56         output(r, "tmpl/show.cs", {"body": decodeURIComponent(memd.Get(key).value)}); 
     60        puts(memd.Get(key).value); 
     61        output(r, "tmpl/show.cs", {"body": memd.Get(key).value}); 
    5762    } else { 
    5863        redirect(r, '/');