   (ContentSourceFactory/newContentSource cxn-provider
                                          user password
                                          content-base))
-
-
-
 
 (defn- create-session*
   "Creates session, given map of database info. If complex connection

  ;; Return a ContentSource object that will serve as the source of
  ;; connections to the server on the given host and port, with login
  ;; credentials of the given user and password.
  ([host port user password content-base security-opts]
   ;; TODO enforce or construct SecurityOptions for security-opts
   (ContentSourceFactory/newContentSource host port
                                          user password
                                          content-base
                                          security-opts)))

(defn managed-content-source
  "TODO"
  [cxn-provider user password content-base]

;;;; Session management
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

(defn make-security-options
  "Given an SSLContext object and, optionally, a configuration map
  describing cipher suites and/or protocols to enable, returns a
  MarkLogic SecurityOptions object configured accordingly, to be used
  in session or content source creation."
  ([ssl-context] (make-security-options ssl-context nil))
  ([ssl-context {:keys [protocols cipher-suites]}]
   (let [sec-opts (SecurityOptions. ssl-context)]
     (when (seq protocols)
