golang handler wrapper