Skip to content

Instantly share code, notes, and snippets.

View espretto's full-sized avatar

Marius espretto

  • Oldenburg
View GitHub Profile
@espretto
espretto / JavaScript: nextTick.js
Last active October 24, 2016 22:37
progressive shim to defer execution until next run-loop cycle
/**
* progressive shim to defer execution until next run-loop cycle
*
* prefers
* - `process.nextTick` over
* - `process.setImmediate` or `window.setImmediate` over
* - `window.requestAnimationFrame` over
* - `window.postMessage` and `window.addEventListener` over
* - `setTimeout` as the very last resort
*/
var http = require('http');
var server = http.createServer(function(req, res) {
// console.log(req); // debug dump the request
// If they pass in a basic auth credential it'll be in a header called "Authorization" (note NodeJS lowercases the names of headers in its request object)
var auth = req.headers['authorization']; // auth is in base64(username:password) so we need to decode the base64
console.log("Authorization Header is: ", auth);
javascript:(function(){
this.write('<!DOCTYPE html>\
<html>\
<head>\
<meta charset="UTF-8"/>\
<script src="http://localhost:8000/path/to/your/script.js"></script>\
</head>\
<body></body>\
</html>');
this.close()
@espretto
espretto / is.js
Last active June 5, 2016 22:01
JavaScript: type/class/node check functions
/*!
* is, released under MIT licence
* http://mariusrunge.com/mit-licence.html
* inspired by / partially taken from underscorejs.org
*
* how to use:
* - comment the code-sections and/or `classNames` you don't need
* - integrate `is` into your lib via the `.noConflict()` option
* - eventually clean up the global namespace via `delete window.is` (try-catch for IE)
*