    :path   path
    :meta   endpoint-meta})
 
+(defn default-configurer
+  "The configurer is passed the final swagger object and can make final changes to it. This implementation
+  does nothing, returning the swagger object unchanged."
+  [swagger-options swagger-object routing-entries]
+  swagger-object)
+
 (defn construct-swagger-object
   "Constructs the root Swagger object from the Rook options, swagger options, and the routing table
   (part of the result from [[construct-namespace-handler]])."
   [swagger-options routing-table]
-  (let [{:keys [skeleton route-converter]
+  (let [{:keys [skeleton route-converter configurer]
          :or   {skeleton        default-swagger-skeleton
-                route-converter default-route-injector}} swagger-options]
-    (->> routing-table
-         vals
-         (apply concat)
-         (map routing-entry->map)
-         ;; Add the :no-swagger meta data to edit it out.
-         (remove #(-> % :meta :no-swagger))
-         (reduce (partial route-converter swagger-options) skeleton))))+                route-converter default-route-injector
+                configurer      default-configurer
+                }} swagger-options
+        routing-entries (->> routing-table
+                             vals
+                             (apply concat)
+                             (map routing-entry->map)
+                             ;; Endpoints with the :no-swagger meta data are ignored.
+                             (remove #(-> % :meta :no-swagger)))]
+    (as-> (reduce (partial route-converter swagger-options) skeleton routing-entries) %
+          (configurer swagger-options % routing-entries))))
    ; no schema:
    swagger-object))

(defn default-path-item-object-injector
  "Injects a PathItemObject based on a routing entry.

  The paths-key is a coordinate into the swagger-object where the PathItemObject should be created.

  Returns the modified swagger-object. "
  [swagger-options swagger-object routing-entry paths-key]
  (let [{endpoint-meta :meta} routing-entry
        swagger-meta (:swagger endpoint-meta)

          (path-params-injector swagger-options % routing-entry params-key)
          (query-params-injector swagger-options % routing-entry params-key)
          (body-params-injector swagger-options % routing-entry params-key)
          (responses-injector swagger-options % routing-entry paths-key))))

(defn default-route-injector
  "The default route converter.  The swagger-options may contain an override of this function.
