 (defn run-load-test
   "Execute a load test against a specified URL by issuing the number-of-requests spread over the
   number-of-milliseconds using the http-method, request-options, and result-handler specified."
-  [url http-method number-of-requests number-of-milliseconds request-options result-handler]
-  (let [request-invoker (build-request-invoker http-method url request-options)
+  [url http-method number-of-requests number-of-milliseconds request-options result-handler custom-request-invoker]
+  (let [request-invoker (or custom-request-invoker
+                            (build-default-request-invoker http-method url request-options))
         pause-between-requests (/ number-of-requests number-of-milliseconds)]
     (load-test-url request-invoker number-of-requests pause-between-requests result-handler)))
 


   [nil "--handler HANDLER" "Custom handler file."
    :id :handler
    :default nil]

   ["-h" "--help"]

        (println (str requests " requests spread over " seconds " seconds."))
        (if verbose (println (str "Request options: " request-options)))
        (if custom-handler-name (println (str "Using custom handler: " custom-handler-name)))
        (if custom-invoker-name (println (str "Using custom request invoker: " custom-invoker-name)))
        (println "")
        (let [load-test-results (load-test-url request-invoker
                                               requests
