                           (.matcher "")
                           .groupCount)
                       (catch PatternSyntaxException e
-                        (throw (IllegalArgumentException.
-                                (str "The path regex provided in the rule"
-                                     " defined as " (pprint-rule rule)
-                                     " is invalid: " (.getMessage e))))))
+                        (reject! "The path regex provided in the rule"
+                                 " defined as " (pprint-rule rule)
+                                 " is invalid: " (.getMessage e))))
         get-br-list (fn [match-str]
                       (map #(Integer/parseInt (second %))
                            (re-seq #"\$(\d+)" match-str)))


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Private

(defn pprint-rule
  [rule]

    (doseq [[largest field] [[largest-allow-br "allow"]
                             [largest-deny-br "deny"]]
            :when (> largest group-count)]
      (reject! "The " field " field provided in the rule specified as "
               (pprint-rule rule) " contains the back reference '$"
               largest "' which refers to a capture group in "
               "the regex that doesn't exist."))))

(defn validate-auth-config-rule!
  "Tests to see if the given map contains the proper data to define an auth
