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