Class: RestClient::Request

Inherits:
Object
  • Object
show all
Includes:
Curlyrest
Defined in:
lib/curlyrest.rb

Overview

restClient request class

Constant Summary

Constants included from Curlyrest

Curlyrest::VERSION

Instance Method Summary collapse

Methods included from Curlyrest

#curl_transmit

Instance Method Details

#curl_execute(&block) ⇒ Object



178
179
180
181
182
183
184
185
186
# File 'lib/curlyrest.rb', line 178

def curl_execute(& block)
  h = if processed_headers['No-Restclient-Headers'] == 'true'
        headers
      else
        processed_headers
      end
  r = curl_transmit(uri, method, h, payload, &block)
  RestClient::Response.create(r.body, r, self)
end

#execute(&block) ⇒ Object



163
164
165
166
167
168
169
170
171
172
173
174
175
176
# File 'lib/curlyrest.rb', line 163

def execute(& block)
  # With 2.0.0+, net/http accepts URI objects in requests and handles
  # wrapping IPv6 addresses in [] for use in the Host request header.
  if processed_headers['Use-Curl'] || ENV['FORCE_CURL_DEBUG']
    curl_execute(& block)
  else
    @read_timeout = processed_headers['Timeout'].to_i if processed_headers['Timeout']
    transmit(uri, net_http_request_class(method)
                    .new(uri, processed_headers),
             payload, & block)
  end
ensure
  payload&.close
end