Skip to content

Instantly share code, notes, and snippets.

@devinivy
devinivy / push-me.js
Last active August 27, 2016 19:12
hapi with HTTP/2 server push
document.write('i was pushed!');
{"web-app": {
"servlet": [
{
"servlet-name": "cofaxCDS",
"servlet-class": "org.cofax.cds.CDSServlet",
"init-param": {
"configGlossary:installationAt": "Philadelphia, PA",
"configGlossary:adminEmail": "ksm@pobox.com",
"configGlossary:poweredBy": "Cofax",
"configGlossary:poweredByIcon": "/images/cofax.gif",
@devinivy
devinivy / index.js
Created November 22, 2016 20:59
Underdog with vision
'use strict';
const Hapi = require('hapi');
const Underdog = require('underdog');
const Vision = require('vision');
const Handlebars = require('handlebars');
const Spdy = require('spdy');
const Http2 = require('http2');
const agent = new Http2.Agent({ rejectUnauthorized: false });
@devinivy
devinivy / deploy.sh
Last active May 25, 2021 14:44
Publish a hapi pal flavor
#!/usr/bin/env bash
branch=$(git symbolic-ref --short HEAD)
version=$1
if ! [[ $branch =~ ^flavor- ]]; then
echo "Not on a flavor branch" >&2
exit 1
fi
@devinivy
devinivy / deep-hapi-routes.js
Last active March 2, 2018 14:05
recursive require-dir for hapi routes
'use strict';
const tree = require('require-dir')(null, {
recurse: true // Consider also adding filter() to ignore e.g. helper directories
});
const flatten = (routes, obj) => {
if (Array.isArray(obj) || (obj.path && obj.method)) {
return routes.concat(obj);