Module: Requests

Defined in:
lib/requests.rb,
lib/requests/api.rb,
lib/requests/auth.rb,
lib/requests/utils.rb,
lib/requests/models.rb,
lib/requests/cookies.rb,
lib/requests/version.rb,
lib/requests/adapters.rb,
lib/requests/sessions.rb,
lib/requests/exceptions.rb,
lib/requests/structures.rb,
lib/requests/status_codes.rb

Defined Under Namespace

Modules: AuthBase, Timeoutable, Utils Classes: BasicAuth, BearerAuth, CIHash, ChunkedEncodingError, ConnectTimeout, ConnectionError, ContentDecodingError, DigestAuth, HTTPAdapter, HTTPError, InvalidHeader, InvalidJSONError, InvalidProxyURL, InvalidSchema, InvalidURL, JSONDecodeError, Jar, LookupDict, MissingSchema, PreparedRequest, ProxyError, ReadTimeout, RequestException, Response, RetryError, SSLError, Session, StreamConsumedError, Timeout, TooManyRedirects, URLRequired

Constant Summary collapse

CA_FILE =
ENV.fetch('REQUESTS_CA_FILE', File.expand_path('cacert.pem', __dir__))
CookieJar =
Jar
VERSION =
'1.0.3'
CaseInsensitiveDict =
CIHash
STATUS_CODES =
{100 => :continue,101 => :switching_protocols,102 => :processing,103 => :early_hints,200 => :ok,201 => :created,202 => :accepted,203 => :non_authoritative_info,204 => :no_content,205 => :reset_content,206 => :partial_content,207 => :multi_status,208 => :already_reported,226 => :im_used,300 => :multiple_choices,301 => :moved_permanently,302 => :found,303 => :see_other,304 => :not_modified,305 => :use_proxy,307 => :temporary_redirect,308 => :permanent_redirect,400 => :bad_request,401 => :unauthorized,402 => :payment_required,403 => :forbidden,404 => :not_found,405 => :method_not_allowed,406 => :not_acceptable,407 => :proxy_authentication_required,408 => :request_timeout,409 => :conflict,410 => :gone,411 => :length_required,412 => :precondition_failed,413 => :payload_too_large,414 => :uri_too_long,415 => :unsupported_media_type,416 => :range_not_satisfiable,417 => :expectation_failed,418 => :im_a_teapot,421 => :misdirected_request,422 => :unprocessable_entity,423 => :locked,424 => :failed_dependency,425 => :too_early,426 => :upgrade_required,428 => :precondition_required,429 => :too_many_requests,431 => :request_header_fields_too_large,451 => :unavailable_for_legal_reasons,500 => :internal_server_error,501 => :not_implemented,502 => :bad_gateway,503 => :service_unavailable,504 => :gateway_timeout,505 => :http_version_not_supported,506 => :variant_also_negotiates,507 => :insufficient_storage,508 => :loop_detected,509 => :bandwidth_limit_exceeded,510 => :not_extended,511 => :network_authentication_required}.freeze
STATUS_ALIASES =
{okay: 200,all_ok: 200,all_good: 200,request_uri_too_long: 414,unprocessable: 422,server_error: 500,unauthorised: 401}.freeze
CODES =
LookupDict.new(STATUS_CODES, STATUS_ALIASES)

Class Method Summary collapse

Class Method Details

.codesObject



28
29
30
# File 'lib/requests/status_codes.rb', line 28

def self.codes
  CODES
end

.delete(url, **kw) ⇒ Object



11
# File 'lib/requests/api.rb', line 11

def self.delete(url, **kw); request('DELETE', url, **kw); end

.download(url, to:, **kw) ⇒ Object



20
21
22
# File 'lib/requests/api.rb', line 20

def self.download(url, to:, **kw)
  Session.new.download(url, to: to, **kw)
end

.get(url, **kw) ⇒ Object



7
# File 'lib/requests/api.rb', line 7

def self.get(url, **kw); request('GET', url, **kw); end

.head(url, **kw) ⇒ Object



13
14
15
16
# File 'lib/requests/api.rb', line 13

def self.head(url, **kw)
  kw[:allow_redirects] = kw.fetch(:allow_redirects, false)
  request('HEAD', url, **kw)
end

.options(url, **kw) ⇒ Object



12
# File 'lib/requests/api.rb', line 12

def self.options(url, **kw); request('OPTIONS', url, **kw); end

.patch(url, **kw) ⇒ Object



10
# File 'lib/requests/api.rb', line 10

def self.patch(url, **kw); request('PATCH', url, **kw); end

.post(url, **kw) ⇒ Object



8
# File 'lib/requests/api.rb', line 8

def self.post(url, **kw); request('POST', url, **kw); end

.put(url, **kw) ⇒ Object



9
# File 'lib/requests/api.rb', line 9

def self.put(url, **kw); request('PUT', url, **kw); end

.request(method, url, **kw) ⇒ Object



4
5
6
# File 'lib/requests/api.rb', line 4

def self.request(method, url, **kw)
  Session.new.request(method, url, **kw)
end

.sessionObject



17
18
19
# File 'lib/requests/api.rb', line 17

def self.session
  Session.new
end