code: func NewHandler(allow, deny http.Handler, acl ACL) (http.Handler, error) {
  	if allow == nil {
  		return nil, errors.New("whitelist: allow cannot be nil")
  	}
  
  	if acl == nil {
  		return nil, errors.New("whitelist: ACL cannot be nil")
  	}
  
  	return &Handler{
  		allowHandler: allow,
  		denyHandler:  deny,
  		whitelist:    acl,
  	}, nil
  }
docs: // NewHandler returns a new whitelisting-wrapped HTTP handler. The
  // allow handler should contain a handler that will be called if the
  // request is whitelisted; the deny handler should contain a handler
  // that will be called in the request is not whitelisted.