Skip to content

Instantly share code, notes, and snippets.

@seansullivan
seansullivan / gist:7818128
Created December 6, 2013 03:33
S3 ACL public for all files
{
"Version": "2008-10-17",
"Id": "b2cc31d0-cc91-4285-a658-473099d2c867",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
@seansullivan
seansullivan / gist:7835884
Created December 7, 2013 00:58
node.js middleware to write raw request body to log file.
var fs = require('fs');
app.use(function(req, res, next) {
req.rawBody = '';
req.setEncoding('utf8');
req.on('data', function(chunk) {
req.rawBody += chunk;
});
@seansullivan
seansullivan / gist:8172122
Created December 29, 2013 16:38
Load image into canvas
<canvas id="canvas"></canvas>
<script type="text/javascript">
var can = document.getElementById('canvas');
var ctx = can.getContext('2d');
var img = new Image();
img.onload = function(){
can.width = img.width;
can.height = img.height;
ctx.drawImage(img, 0, 0, img.width, img.height);
@seansullivan
seansullivan / gist:9381057
Created March 6, 2014 02:26
Simple promise chain w/ q using result from previous function
var q = require('q');
var method1 = function (result) {
var deferred = q.defer();
// an async method
setTimeout(function () {
console.log('method1');
deferred.resolve('from method1');
}, 0);
@seansullivan
seansullivan / gist:9381705
Created March 6, 2014 03:25
Q Promise Chain that deals with sync and async functions.
var q = require('q');
var counter = 0,
current = counter,
syncFunc = function (result) {
current = counter++;
console.log('in sync func '+current);
return 'from func '+current;
},
asyncFunc = function (result, callback) {
@seansullivan
seansullivan / gist:9417054
Created March 7, 2014 18:29
Multi-line string in JavaScript -- heredoc
var string = (<r><![CDATA[
The text string goes here. Since this is a XML CDATA section,
stuff like <> work fine too, even if definitely invalid XML.
]]></r>).toString();
@seansullivan
seansullivan / gist:9768758
Created March 25, 2014 18:59
Promise from a promise
var Q = require('q');
var getSomethingGood = function () {
var deferred = Q.defer();
Q.fcall(getSomethingElse)
.then(function (result) {
console.log(result);
setTimeout(function () { // get db result
@seansullivan
seansullivan / gist:9773730
Created March 25, 2014 23:29
Retrieving documents w/ promises - Q.ninvoke
var Q = require('q');
var documents = {
'a': "Document A",
'b': "Document B",
'c': "Document C"
};
/**
* get a document by key
@seansullivan
seansullivan / gist:9924729
Last active August 29, 2015 13:57
Setting the locals for an Express render() as the response body for testing purposes
/*
// Route defined as:
app.get('/test/login', function (req, res) {
res.render('login/login', {something: 'here'});
});
*/
var localsAsResponseEngine = function (pathName, locals, cb) {
delete locals._locals;
delete locals.settings;
[user]
name = Sean Sullivan
email = myemail
[color]
diff = auto
status = auto
branch = auto
[alias]