                                    (some-> http-body parse-body)
                                    {:follow-redirects false
                                     :throw-exceptions false})
-            request-invoker (build-request-invoker http-method url request-options)
+
+            [request-invoker custom-invoker-name] (if-not (nil? invoker-builder)
+                                                    [(let [build-custom-request-invoker (eval (read (PushbackReader. (io/reader invoker-builder))))]
+                                                       (build-custom-request-invoker http-method url request-options))
+                                                     invoker-builder]
+                                                    [(build-default-request-invoker http-method url request-options)
+                                                     nil])
 
             [parsed-handler custom-handler-name] (if-not (nil? handler)
                                                    [(eval (read (PushbackReader. (io/reader handler))))

      (let [{requests :requests
             seconds :time
             handler :handler
             http-method :method
             http-headers :headers
             http-body :body

   :else
   client/get))

(defn- build-default-request-invoker
  "Builds a request invoker function given the name of the HTTP function you want to invoke, the url
  you want to execute requests against, and a map of options you want to provide to the underlying
  HTTP library."
