module HTTPX::Plugins::Stream::InstanceMethods

  1. lib/httpx/plugins/stream.rb

Methods

Public Instance

  1. build_request
  2. request

Public Instance methods

build_request(verb, uri, params = EMPTY_HASH, options = @options)
[show source]
    # File lib/httpx/plugins/stream.rb
191 def build_request(verb, uri, params = EMPTY_HASH, options = @options)
192   return super unless params[:stream]
193 
194   super(verb, uri, params, options.merge(STREAM_REQUEST_OPTIONS.merge(stream: true)))
195 end
request(*args, **options)
[show source]
    # File lib/httpx/plugins/stream.rb
165 def request(*args, **options)
166   if args.first.is_a?(Request)
167     requests = args
168 
169     request = requests.first
170 
171     unless request.options.stream && !request.stream
172       if options[:stream]
173         warn "passing `stream: true` with a request object is not supported anymore. " \
174              "You can instead build the request object with `stream :true`"
175       end
176       return super
177     end
178   else
179     return super unless options[:stream]
180 
181     requests = build_requests(*args, options)
182 
183     request = requests.first
184   end
185 
186   raise Error, "only 1 response at a time is supported for streaming requests" unless requests.size == 1
187 
188   @options.stream_response_class.new(request, self)
189 end