Here's how you could create custom error classes in Node.js using latest ES6 / ES2015 syntax.
I've tried to make it as lean and unobtrusive as possible.
errors/ApplicationError.js
const { InMemoryLRUCache } = require("apollo-server-caching"); | |
const DataLoader = require("dataloader"); | |
class SQLCache { | |
constructor(cache = new InMemoryLRUCache(), knex) { | |
this.cache = cache; | |
this.loader = new DataLoader(queries => | |
Promise.all(queries.map(query => knexInstance.raw(query))) | |
); | |
} |
From within the parent repo do
git submodule add [email protected]:iracooke/transcriptomes.git/wiki wiki
git commit -m "Adding wiki as submodule"
git push
Making changes to the wiki and to the parent require separate git commit commands.
echo "Creating an SSH key for you..." | |
ssh-keygen -t rsa | |
echo "Please add this public key to Github \n" | |
echo "https://github.com/account/ssh \n" | |
read -p "Press [Enter] key after this..." | |
echo "Installing xcode-stuff" | |
xcode-select --install |
Secure sessions are easy, but it's not very well documented, so I'm changing that. | |
Here's a recipe for secure sessions in Node.js when NginX is used as an SSL proxy: | |
The desired configuration for using NginX as an SSL proxy is to offload SSL processing | |
and to put a hardened web server in front of your Node.js application, like: | |
[NODE.JS APP] <- HTTP -> [NginX] <- HTTPS -> [CLIENT] | |
To do this, here's what you need to do: |
function translateError(msg) { | |
var newErr = new Error(msg); // placed here to get correct stack | |
return e => { | |
newErr.originalError = e; | |
throw newErr; | |
} | |
} | |
async function asyncTask() { | |
const user = await UserModel.findById(1).catch(translateError('No user found')) |
<!DOCTYPE html> | |
<html> | |
<head> | |
<title>Duplicate a select list using jQuery</title> | |
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script> | |
<script src="selectScript.js"></script> | |
</head> | |
<body> | |
<div id="d1"> |
/*jslint node: true */ | |
"use strict"; | |
var express = require("express"), | |
consolidate = require("consolidate"), | |
Handlebars = require("handlebars"), | |
fs = require("fs"); | |
var app = express(); |
'use strict'; | |
var util = require('util'), | |
winston = require('winston'), | |
logger = new winston.Logger(), | |
production = (process.env.NODE_ENV || '').toLowerCase() === 'production'; | |
module.exports = { | |
middleware: function(req, res, next){ | |
console.info(req.method, req.url, res.statusCode); |