diff options
Diffstat (limited to 'lib/index.js')
| -rw-r--r-- | lib/index.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lib/index.js b/lib/index.js index ef1aa5c..6bdb722 100644 --- a/lib/index.js +++ b/lib/index.js @@ -70,5 +70,36 @@ site.init = function(){ } }) }) + + /* shaderblaster / asciiblaster apis */ + app.post("/cgi-bin/im/shader/upload", multer_upload.single('qqfile'), function(req, res){ + var now = Math.floor(Date.now() / 1000) + var filename = sanitize(req.body.filename) + '_' + now + '.' + upload.getExtension() + var path = '/im/ab/' + upload.put("shader", req.file, { + filename, path, + unacceptable: function(err){ + res.json({ error: err }) + }, + success: function(url){ + db.createShaderImage({ + // date, name, dir, newfile, tag, remote_addr + date: now, + name: sanitize(req.body.username), + dir: 'ab', + newfile: filename, + tag: sanitize(req.body.tag) || 'plop', + remote_addr: req.ip || '127.0.0.1', + }).then(function(image){ + res.json(image) + }) + } + }) + }) + + /* public urls last */ app.use('/p/', express.static(path.join(__dirname, '../public'))) } + +function sanitize (s){ return (s || "").replace(new RegExp("[^-_a-zA-Z0-9]", 'g'), "") } + |
