def initialize_net_http_multipart_post_request(uri, post_body, file_params, headers)
      # Net::HTTP::Post::Multipart is from the multipart-post gem's lib/multipartable.rb
      #
      # path       - The fully qualified URI for the request
      # params     - A hash of params (including files for uploading and a
      #              customized request body)
      # headers={} - The fully merged, final request headers
      # boundary   - Optional: you can give the request a custom boundary
      #

      headers = headers.dup.merge(parts: {post_body: {'Content-Type' => 'application/json'}})

      request = Net::HTTP::Post::Multipart.new(
        uri.request_uri,
        { post_body: post_body }.merge(file_params),
        headers
      )

      # DocuSign requires that we embed the document data in the body of the
      # JSON request directly so we need to call '.read' on the multipart-post
      # provided body_stream in order to serialize all the files into a
      # compatible JSON string.
      request.body = request.body_stream.read
      request
    end
def initialize_net_http_multipart_post_request(uri, post_body, file_params, headers)
      # Net::HTTP::Post::Multipart is from the multipart-post gem's lib/multipartable.rb
      #
      # path       - The fully qualified URI for the request
      # params     - A hash of params (including files for uploading and a
      #              customized request body)
      # headers={} - The fully merged, final request headers
      # boundary   - Optional: you can give the request a custom boundary
      #

      headers = headers.dup.merge(parts: {post_body: {'Content-Type' => 'application/json'}})

      request = Net::HTTP::Post::Multipart.new(
        uri.request_uri,
        { post_body: post_body }.merge(file_params),
        headers
      )

      # DocuSign requires that we embed the document data in the body of the
      # JSON request directly so we need to call '.read' on the multipart-post
      # provided body_stream in order to serialize all the files into a
      # compatible JSON string.
      request.body = request.body_stream.read
      request
    end
Internal sets up the Net::HTTP request

 uri         - The fully qualified final URI
 post_body   - The custom post body including the signers, etc
 file_params - Formatted hash of ios to merge into the post body
 headers     - Allows for passing in custom headers

 Returns a request object suitable for embedding in a request