# File lib/aws/core/client.rb, line 533
      def build_request name, options

        # we dont want to pass the async option to the configure block
        opts = options.dup
        opts.delete(:async)

        http_request = new_request
        http_request.access_key_id = credential_provider.access_key_id

        # configure the http request
        http_request.service_ruby_name = service_ruby_name
        http_request.host = endpoint
        http_request.port = port
        http_request.region = config.send("#{service_ruby_name}_region""#{service_ruby_name}_region")
        http_request.use_ssl = config.use_ssl?

        send("configure_#{name}_request", http_request, opts)

        http_request.headers["user-agent"] = user_agent_string

        if
          @config.http_continue_threshold and
          http_request.headers['content-length'] and
          http_request.headers['content-length'].to_i > @config.http_continue_threshold
        then
          http_request.headers["expect"] = "100-continue"
          http_request.continue_timeout = @config.http_continue_timeout
        else
          http_request.continue_timeout = nil
        end

        http_request

      end