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