Skip to content

Instantly share code, notes, and snippets.

View NoamB's full-sized avatar

Noam Ben Ari NoamB

View GitHub Profile
Http-kit code reading
HttpException - standard exception
DynamicBytes - self expanding byte array
HeaderMap - array used as map for speed
HttpMethod - enum for methods
@NoamB
NoamB / gist:6e940775dfa63c73ee9c
Last active May 15, 2019 18:03
camelize-dasherize mini library
(ns util.camelize-dasherize
(:import (clojure.lang IPersistentMap Keyword))
(:require [clojure.string :as s]
[clojure.zip :as zip]))
; TODO: regex is slow, should try iterating the string.
(defn dasherize-string
"Converts an underscored or camelized string
into an dasherized one."
[s]
@NoamB
NoamB / auth.clj
Created October 26, 2013 19:36
working require-login
(defn require-login*
"Used to wrap a route handler, checks if 'logged-in?'. If true, allows the handler to run.
If false, rejects the user."
[success-method fail-method {session :session :as req}]
(if (logged-in? session)
(apply success-method [req])
(apply fail-method [req])))
(defn- require-login-single-form
[fail-method [method path args & body :as form]]